Мы уже видели как можно присваивать значения полям класса. Но чтобы подвести итог перечислим их:
- Инициализация значениями по умолчанию
- Инициализация при объявлении поля
- Инициализация через конструктор
- Инициализация в инициализационном блоке
Первые три способа мы уже видели, теперь рассмотрим четвертый.
Инициализационный блок выполняется каждый раз, когда создается объект данного класса. Он выполняется до вызова любого из конструкторов класса. Для инициализации статических полей класса, можно использовать статические инициализационные блоки.
Ну и теперь примеры…
Вывод у программы следующий:
Инициализационные блоки выполняются в порядке их следования в объявлении класса.
В этой программе продемонстрированы все четыре способа инициализации полей.
разве меин будет в начале? сначало статический блок
ОтветитьУдалитьВы про что?
ОтветитьУдалитьстрока "В начале метода меин" она не может быть первой.
УдалитьКак это не может :) Если она есть :) Запустите программу и проверьте. Все работает.
ОтветитьУдалитьНу или объясните почему она не может там быть, и вопреки всем правилам она там все же есть :)
ОтветитьУдалитьахах) у мя стат блок был в мейне а не в отдельном классе, Спасибо за урок! И еще вопрос а вы сейчас в каком напралении работаете?
УдалитьAndroid
ОтветитьУдалитьКлассные статьи, одни из лучших, которые я видел
ОтветитьУдалитьВ этом блоке все статьи, которые есть от автора или есть ещё? Хотелось бы в подобном стиле почитать про лямбда, паттерны, GUI и много чего ещё
Все статьи мои. Продолжение блога конечно планируется. В ближайшие недели появятся еще статьи. Некоторые статьи уже появились, просто задним числом :) так как логически они должны быть там где должны быть.
ОтветитьУдалитьНапример вот эта статья http://pr0java.blogspot.ru/2015/05/blog-post_97.html