Применение ключевого слова this
1. Ссылка на текущий объект
Иногда требуется, чтобы метод ссылался на вызвавший его объект. Ключевое слово this в Java используется в теле любого метода для ссылки на текущий объект.
Рассмотрим конструктор, в котором параметры имеют те же имена, что и переменные класса. В этом случае параметры перекрывают область видимости переменных класса и мы не можем напрямую обратится к переменным класса. Чтобы это сделать используется ключевое слово this:
Box(double width, double height, double depth) {
this.width = width;
this.height = height;
this.depth = depth;
}
В этом примере использование ключевого слова this не является необходимым - можно обойтись и без него:
Box(double w, double h, double d) {
this.width = w;
this.height = h;
this.depth = d;
}
2. Использование ключевого слова this() в конструкторе
Второй вариант использования ключевого слова this() - с его помощью можно вызвать один конструктор из другого. Вызов this() может находиться только в первой строчке конструктора:
public class Toy {
String name;
int cost;
String manufacturer;
int age;
public Toy(String name, int cost, String manufacturer, int age) {
this(name, cost, manufacturer);
this.age = age;
System.out.println("В конструкторе с четырьмя параметрами");
}
public Toy(String name, int cost, String manufacturer) {
this();
this.name = name;
this.cost = cost;
this.manufacturer = manufacturer;
System.out.println("В конструкторе с тремя параметрами");
}
public Toy() {
System.out.println("В конструкторе по умолчанию");
}
}
public class ToyExample {
public static void main(String[] args) {
Toy toy = new Toy("Кукла", 34, "Disney", 3);
}
}
Результат программы:
В конструкторе по умолчанию
В конструкторе с тремя параметрами
В конструкторе с четырьмя параметрами
Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.