Дошел до 28 уровня. И неожиданно осознал, что я не понимаю есть ли разница инициализации переменной при ее объявлении или в конструкторе который у нас присутствует явно. Для примера возьмем final которую обязаны инициализировать. Пожалуйста, на "пальцах" разъясните разницу между примерами: a) public class Test { private String name; private final Object obj = new Object(); public AdvertisementManager(String name) { this.name = name; } } b) public class Test { private String name; private final Object obj; public AdvertisementManager(String name) { this.name = name; obj = new Object(); } }