#java #конструктор
В конструкторе, предназначенном для присвоения значений переменным класса при создании
объекта, иногда использую this., иногда не используют. Я проверил - оба варианта работают,
является ли один из них предпочтительным?
public class Vehicle {
private String color;
Vehicle(String c) {
color = c;
}
}
public class Vehicle {
private String color;
Vehicle(String c) {
this.color = c;
}
}
Ответы
Ответ 1
Необязательно, но позволяет не изобретать имена аргументам конструктора: public class Vehicle { private String color; Vehicle(String color) { this.color = color; } }Ответ 2
Предпочтительно и, в принципе, по другому и не получится в случае, если имя аргумента совпадает с именем поля класса: public class Vehicle { private Color color; Vehicle(Color color) { this.color = color; } } В случаях, когда имя параметра отличается от имени поля, которому будет присваиваться значение - слово this необязательно. Оно и так будет подразумеваться.
Комментариев нет:
Отправить комментарий