Вот пролетела очередная неделя. Капец время летит и на подходе следующая задачка на пошевелить мозг. Какие фрагменты нижеследующего кода являются корректными? Поработай компилятором сам(сама).
1) new Object[]{new Object(), "hello javaRush", 23, new ArrayList()};
2) new Object[]{"bye javaRush", new Object(), {}, new ArrayList()};
3) new Object[]{new String[]{""}, new Object(), "OK", new ArrayList()};
4) new Object[10]{new Object()};
Решение прошлой №2 задачки.
1. В первую очередь выполняются статические переменные и статические инициализаторы.
Они срабатывают по порядку.
Соответсвенно будет выведено:
StringTwo
StringFive
StringSix

2. Далее в методе main мы создаем объект класса One.
Перед тем, как сработает конструктор One, срабатывают нестатические блоки инициализации по порядку.
Важно отметить, что не только срабатывают нестатические блоки инициализации,
но и инициализируются нестатические переменные.
Все это срабатывает по порядку.
Соответсвенно будет выведено:
StringThree
StringFour
StringSeven

3. И самый последний срабатывает конструктор One и выведет в консоль StringOne.

В итоге в консоли мы увидим такой аутпут:
StringTwo
StringFive
StringSix
StringThree
StringFour
StringSeven
StringOne