Например, у меня есть следующий класс, который реализует интерфейс Icon. В конструкторе он инициализирует объект «Цвет», создавая глубокую копию объекта «Цвет», заданного в параметре.Инициализировать объект другого класса в конструкторе
public class CircleIcon implements Icon {
private Color iconColor;
private int radius;
public CircleIcon(Color iconColor, int radius) {
this.iconColor = new Color(iconColor.getRGB());
this.radius = radius;
}
}
Мой вопрос: это правильный способ инициализации объекта другого класса? Я часто вижу подобные вещи в коде других людей. Здесь this.iconColor получает ссылку на объект Color, указанный в параметре вместо его копии.
public CircleIcon(Color iconColor, int radius) {
this.iconColor = iconColor;
this.radius = radius;
}
Я хотел бы знать, какой путь является предпочтительным.
Я думаю, что вы поняли вопрос неправильно. Вопрос в том, должен ли он сделать копию объекта или если он может просто поддерживать ссылку на него. –
@MohammadGhazanfar отредактировал :) Спасибо за указание. –