|
|
|
Использование переопределенных методов интерфейса в конструкторе.
|
|||
|---|---|---|---|
|
#18+
Почитал здесь пример и простетировал. А всегда ли это чревато..? Например, я создал интерфейс: Код: java 1. 2. 3. 4. Далее создал другой класс, имплементировал туда этот вышеуказанный интерфейс, явно указал конструктор, в конструктор вставил один или оба метода интерфейса. IDE выдает предупреждение - Overridable method call in constructor. Чем заменить если хочется использовать методы интерфейса при вызове класса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 15:57:03 |
|
||
|
Использование переопределенных методов интерфейса в конструкторе.
|
|||
|---|---|---|---|
|
#18+
Nixic, Это плохая практика в любом случае, НО если это не либа а ваш и только ваш код и вы имеете полный контроль над наследниками - то в принципе можно так делать, но обызательно задокументируйте. Еще лучший вариант вынести взовы переопределенных методов в метод init(), который должен вызываться после конструктора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 15:59:50 |
|
||
|
Использование переопределенных методов интерфейса в конструкторе.
|
|||
|---|---|---|---|
|
#18+
Добрый день, Nixic! > А всегда ли это чревато..? Если метод или класс не final - то да. > Например, я создал интерфейс: Да он здесь не при чём. > Чем заменить если хочется использовать методы интерфейса при вызове класса? Грабли вот где: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. И вот при создании C2 возникает вдруг NPE :) Если хочется иметь вероятность грабли- используй. Но тебя предупреждают. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 16:06:37 |
|
||
|
Использование переопределенных методов интерфейса в конструкторе.
|
|||
|---|---|---|---|
|
#18+
Nixic, если хочется использовать методы интерфейса при вызове класса? надо перехотеть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 16:08:38 |
|
||
|
Использование переопределенных методов интерфейса в конструкторе.
|
|||
|---|---|---|---|
|
#18+
Nixic, Ну, так доведи свой пример до ума: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Работать будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 16:13:17 |
|
||
|
Использование переопределенных методов интерфейса в конструкторе.
|
|||
|---|---|---|---|
|
#18+
NixicIDE выдает предупреждение - Overridable method call in constructor. Чем заменить если хочется использовать методы интерфейса при вызове класса? Не чем не нужно заменять, просто добавь модификатор final на имплементацию методов интерфейса, тогда наследник не сможет изменить их реализацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 16:15:29 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38157601&tid=2129948]: |
0ms |
get settings: |
21ms |
get forum list: |
28ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
57ms |
get topic data: |
24ms |
get forum data: |
6ms |
get page messages: |
101ms |
get tp. blocked users: |
3ms |
| others: | 325ms |
| total: | 581ms |

| 0 / 0 |
