| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > static поле |
| Автор: Fieral 6.7.2009, 13:44 | ||
например:
Поле CONSTANT будет общим для всех инстанцов MyClass. Вопрос: когда именно будет вызываться конструктор new OtherClass(); и сколько раз? |
| Автор: MisterCleric 6.7.2009, 13:54 | ||
Будет проинициализировано один раз при первом обращении к этому классу, т.е. Во время его загрузки. А это уже не важно - будь то просто вызов этого статического поля, или создание экземпляра этого класса или создание экземпляра класса-потомка. Кажись так... |
| Автор: aleksandy 7.7.2009, 05:41 |
| Раз уж это константа поле надо бы еще как final объявить |
| Автор: Fieral 7.7.2009, 14:38 |
| Почему final? |
| Автор: AxNe0 7.7.2009, 14:50 |
| Fieral, chto by nelzya bylo menyat znachenie ssylki. Добавлено через 38 секунд Fieral, chto by nelzya bylo menyat znachenie ssylki. |
| Автор: Fieral 7.7.2009, 15:22 |
| всмысле имеется ввиду "модифицировать поля инстанца new OtherClass(); "? |
| Автор: LSD 7.7.2009, 16:03 |
| Fieral, может уже пора почитать книги по Java? Чтобы узнать что означает тот или иной модификатор, когда и как инициализироются поля и т.д. Добавлено через 1 минуту и 23 секунды Тем более что AxNe0 написал достаточно ясно, что нельзя будет модифицировать значение ссылки (т.е. CONSTANT). |
| Автор: Fieral 7.7.2009, 16:13 |
| ну там какбы пишут что final это значит что "не может быть переопределеён наследниками" ,а зачем это нужно - не понятно. Помимо этого в книгах ещё "многабукф" где вам расскажут что: "спортсмен имплементирует интерфейс, когда бежит покупать цветы, потому что ему неважно как они растут ибо он по сути бубновый паук, который ест время по понедельникам..." http://forum.vingrad.ru/forum/topic-262224/kw-учебники-раммированию.html - Книги по программированию понятны только тем кто их писал или кто уже "в теме". |
| Автор: Skynin 7.7.2009, 17:38 | ||
для - методов. Для полей, переменных final в Java работает вместо const или readonly в некоторых других языках. То есть для поля, переменной, допускается одна и только одна инициализация. Посмотрите примеры по ссылке (знание английского не обязательно) http://www.javamex.com/java_equivalents/const_java.shtml |
| Автор: LSD 7.7.2009, 17:57 | ||
1. Стоит все таки читать книги полностью, а не по диагонали. Фраза final это значит что "не может быть переопределеён наследниками" относится только к методам. Для полей и классов у него другое значение. 2. Я согласен, что бывают плохие книги по программированию, но из этого вовсе не следует что книги зло и читать их не стоит. Тот же Эккель вполне нормально описал http://bruceeckel.by.ru/tij/Chapter06.html#Heading222. |