@Mixa

Как разобраться с конструкторами?

Начал изучать Java, дошел до конструкторов и завис. Не могу понять зачем вот тут

Box catBox = new Box();

мы дважды пишем "Box"?

Что означает первый и второй, и как тогда использовтаь переменную catBox?

Буду благодарен за доступные примеры.
  • Вопрос задан
  • 180 просмотров
Решения вопроса 1
@guras256
Ваша строка это объявление переменной и присваивание ей значения. Поскольку в джаве нет авто выведения типов, ты обязан указывать тип каждой переменной.
Допустим Box aBox; ты объявил переменную типа Box с именем aBox. Теперь ты можешь присвоить ей значение только типа Box(экземпляр класса Box, реализацию интерфейса Box, или наследника класса Box).
А справа собственно создание экземпляра класса Box через конструктор
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
1) Box catBox;   // объявили переменную с типом Box и именем catBox (просто объявили, в ней ничего нет)
2) new Box();     // создали новый объект типа Box (и бросили)
3) catBox = new Box();    // создали новый объект типа Box и сказали, что с ним можно пообщаться используя 3) переменную catBox
4) Box catBox = new Box(); // объявили переменную и сразу с ней связали объект
Ответ написан
Комментировать
@akileev
Java / Scala developer
Первый Box - тип объявленной переменной.
Второй Box - создается иснстанс класса, через вызов конструктора по умолчанию.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы