|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
При наследовании в java создаются все классы в цепочке или только один? Код: 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. 31. 32. 33.
Вывод: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 00:35 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
И еще, я могу написать Код: java 1. 2. 3. 4. 5. 6. 7.
но не могу Код: java 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 00:47 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
Вопрос то в чем? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 00:52 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
faustgreen, проверь дебагером ,положи в их конструкторы переменную и все сам увидишь ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 00:53 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
faustgreen При наследовании в java создаются все классы в цепочке или только один? и для начала ты должен уяснить что в java классы не создаются а загружаются класслоадером а создаются объекты определленого класса через ключевое слово new ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 01:00 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
faustgreen При наследовании в java создаются все классы в цепочке или только один? вопрос не корректен Т.к. классы создают на этапе компиляции и, разумеется, при компиляции Вашей программе будет создано минимум 4-е класса. В процессе исполнения, при использовании оператора new, создается и инициализируеться ЭКЗЕМПЛЯР объекта. Разумеется создается один экземпляр, но при наследовании, инициализироваться будут все входящие в него <я даже не знаю как это правильно назвать> части. Т.е. должны быть вызвана (по хорошему) цепочка конструкторов из всех классов. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 01:03 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, авторвопрос не корректен Т.к. классы создают на этапе компиляции и, разумеется, при компиляции Вашей программе будет создано минимум 4-е класса. В процессе исполнения, при использовании оператора new, создается и инициализируеться ЭКЗЕМПЛЯР объекта. Разумеется создается один экземпляр, но при наследовании, инициализироваться будут все входящие в него <я даже не знаю как это правильно назвать> части. Т.е. должны быть вызвана (по хорошему) цепочка конструкторов из всех классов. Спасибо, вот это и хотел услышать. Разбираюсь с моделью памяти в java, пока не все понятно, пойду почитаю еще где это все хранится ... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 01:12 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
apb12 faustgreen При наследовании в java создаются все классы в цепочке или только один? и для начала ты должен уяснить что в java классы не создаются а загружаются класслоадером а создаются объекты определленого класса через ключевое слово new Это я понимаю, просто не ту терминологию использовал. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 01:14 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev вопрос не корректен Т.к. классы создают на этапе компиляции и, разумеется, при компиляции Вашей программе будет создано минимум 4-е класса. В процессе исполнения, при использовании оператора new, создается и инициализируеться ЭКЗЕМПЛЯР объекта. Разумеется создается один экземпляр, но при наследовании, инициализироваться будут все входящие в него <я даже не знаю как это правильно назвать> части. Т.е. должны быть вызвана (по хорошему) цепочка конструкторов из всех классов. Класс тоже "создается" в процессе исполнения, потому что может иметь статические поля принадлежащие классу вцелом, соответственно память под них должна быть выделена и она не относится ни к какому объекту, объекты могут быть вообще не созданы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 01:26 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
faustgreen Leonid Kudryavtsev, авторвопрос не корректен Т.к. классы создают на этапе компиляции и, разумеется, при компиляции Вашей программе будет создано минимум 4-е класса. В процессе исполнения, при использовании оператора new, создается и инициализируеться ЭКЗЕМПЛЯР объекта. Разумеется создается один экземпляр, но при наследовании, инициализироваться будут все входящие в него <я даже не знаю как это правильно назвать> части. Т.е. должны быть вызвана (по хорошему) цепочка конструкторов из всех классов. Спасибо, вот это и хотел услышать. Разбираюсь с моделью памяти в java, пока не все понятно, пойду почитаю еще где это все хранится ... вся объекты хранятся в куче,локальные переменные ,методы в стаке куча делится на несколько частей новая и старая ,если на объект нет ссылки он помечается gc и тут два варианта если в этой куче больше объектов без ссылок он перенесет непомеченые в другую часть,которая называется survior,а эту часть просто очистит,если таких объектов не много,то он их пометит и удалит объекты пережившие сборку мусора переносятя в старую кучу есть еще perm generation где хранятся мета данные ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 09:49 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
Устройство кучи зависит от сборщика мусора, поэтому не надо погружаться подробности без необходимости. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 10:06 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, +1 Наследование это логическая абстракция. Никакого отношения к физике не имеющая. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 10:23 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Устройство кучи зависит от сборщика мусора, поэтому не надо погружаться подробности без необходимости. это излюбленная тема на собеседовании и еще есть такие коллекции ,например некоторый вид мапы,где нужно понимать какие виды ссылок бывают у меня про устройство памяти спрашивали на всех собеседованиях и причем некоторые моменты такие довольно углубленно поэтому знать это необходимо ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 11:31 |
|
Вопрос по наследованию
|
|||
---|---|---|---|
#18+
faustgreen, Please read below points to solve the confusion :- 1. When we create the object of a child class then its parents classes are also initialized. It means the constructor of the parent classes will also be called and it will initialize the instance variables of parent class. All the parent classes in the chain will be initialized. Also the instance variables created of parent class will not be stored in separate object of parent class, but will be stored in child class object only. 2. If we create an object of parent class then the child class will not be initialized. Multilevel Inheritance example. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2020, 19:32 |
|
|
start [/forum/topic.php?fid=59&msg=39969927&tid=2120779]: |
0ms |
get settings: |
4ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
30ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
259ms |
get tp. blocked users: |
0ms |
others: | 302ms |
total: | 607ms |
0 / 0 |