|
|
|
Вызвать super() в середине конструктора
|
|||
|---|---|---|---|
|
#18+
Есть сторонняя библиотека. В ней есть класс с одним единственным конструктором принимающим объект другого класса. Код: java 1. 2. 3. 4. У меня уже есть класс MyClass с интерфейсом iA. Хочу сделать наследника от B в котором жестко прописать использование MyClass. В общем, что-то в духе: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. Это не работает, потому что super должен быть первой строкой в конструкторе.... К сожалению B не имеет никаких set/get для iA объектов, их можно только задавать и только в конструкторе. Вопрос: Как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 23:21 |
|
||
|
Вызвать super() в середине конструктора
|
|||
|---|---|---|---|
|
#18+
Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 00:41 |
|
||
|
Вызвать super() в середине конструктора
|
|||
|---|---|---|---|
|
#18+
mayton Код: java 1. Не подходит. У класса B нету ни setChild(), ни getChild() методов. Ребенка можно задать ТОЛЬКО при создании. Но если создал, то уже фиг получишь ссылку на этого ребенка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 00:51 |
|
||
|
Вызвать super() в середине конструктора
|
|||
|---|---|---|---|
|
#18+
Я честно говоря не совсем понял суть ограничений. Но думаю что запрет на наследование это не такое уж и страшное ограничение. Можно использовать композицию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 01:09 |
|
||
|
Вызвать super() в середине конструктора
|
|||
|---|---|---|---|
|
#18+
White OwlВопрос: Как?Сделать второй конструктор и с параметром? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 07:55 |
|
||
|
Вызвать super() в середине конструктора
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovСделать второй конструктор и с параметром? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 07:57 |
|
||
|
Вызвать super() в середине конструктора
|
|||
|---|---|---|---|
|
#18+
White Owl, Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Но, проще по-моему просто достать приватное поле из родителя через рефлексию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 09:39 |
|
||
|
Вызвать super() в середине конструктора
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovBasil A. SidorovСделать второй конструктор и с параметром? А что не так? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Вот за такие рудименты C++ в java да, хочется выражаться неприличными словами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 09:56 |
|
||
|
Вызвать super() в середине конструктора
|
|||
|---|---|---|---|
|
#18+
Alexey TominА что не так?super(new A()) можно и без второго конструктора, но это не использовано. Вероятно потому, что требуется и вызов родительского конструктора и ссылка на объект, с которым этот конструктор вызван. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 11:57 |
|
||
|
Вызвать super() в середине конструктора
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovsuper(new A()) можно и без второго конструктора, но это не использовано. Вероятно потому, что требуется и вызов родительского конструктора и ссылка на объект, с которым этот конструктор вызван.Что-то я туго соображаю. Пора завязывать с отдыхом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 11:59 |
|
||
|
Вызвать super() в середине конструктора
|
|||
|---|---|---|---|
|
#18+
Alexey TominBasil A. Sidorovпропущено... А что не так? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Вот за такие рудименты C++ в java да, хочется выражаться неприличными словами. О! Вполне пойдет. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2014, 01:32 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2126702]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
228ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 505ms |

| 0 / 0 |
