Сегодня я наткнулся на композицию. Из того, что я понимаю, для каждого экземпляра композиции нужно создать новый объект в конструкторе, например:Состав Java - Конструктор
public class Human {
private String name;
private Adress adress;
public Human (String name, Adress adress) {
this.name = name;
this.adress = new Adress(adress);
}
}
Так что, если я хотел бы создать новый экземпляр класса человека, я должен был бы назначить ей некоторые инстанции по адресу, или создать совершенно новый адрес, а конструктор будет выглядеть следующим образом
public class Human {
private String name;
private Adress adress;
public Human (String name, String city, String country) {
this.name = name;
this.adress = new Adress(city, country);
}
}
Прежде всего, это те коды правильно? А также есть ли какой-либо вариант, что если бы я создал новый экземпляр класса human, атрибут Adress был бы пустым, и я мог бы установить его позже, используя метод set? Большое спасибо за ваш ответ.
Только если 'Адресс' не является неизменным. В противном случае нет необходимости копировать его. –
@ AndyTurner Спасибо Энди, исправил его. –
Я должен протестовать против того, что ваша вторая половина ответа * скопирована * прямо из моего ... – Idos