Страницы

Поиск по вопросам

вторник, 28 января 2020 г.

Java. Обязательно ли использовать this. в коде конструктора, присваивающего значения переменным класса?

#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 необязательно. Оно и так будет подразумеваться.

Комментариев нет:

Отправить комментарий