Урок 7

Ключевое слово this


1. Ссылка на текущий объект

Иногда требуется, чтобы метод ссылался на вызвавший его объект. Ключевое слово this используется в теле любого метода для ссылки на текущий объект.

Пример 1. Разрешение конфликта в пространстве имен

В этом коде разрешаются конфликты в пространстве имен:

Box4(double width, double height, double depth) {
    this.width = width;
    this.height = height;
    this.depth = depth;
}

Пример 2. Избыточное применение ключевого слова this

Box4(double w, double h, double d) {
     this.width = w;
     this.height = h;
     this.depth = d;
}

2. Использование this() в конструкторе

С помощью this() можно вызвать один конструктор из другого. Вызов this() может находиться только в первой строчке конструктора.

Пример 3.Использование this() в конструкторе

public class Toy {
    String name;
    int cost;

    public Toy(String name, int cost) {
        this(name);
        this.cost = cost;
        System.out.println("В конструкторе с двумя параметрами");
    }

    public Toy(String name) {
        this();
        this.name = name;
        System.out.println("В конструкторе с одним параметром");
    }

    public Toy() {
        System.out.println("В конструкторе по умолчанию");
    }
}
public class ToyDemo {
    public static void main(String[] args) {
        Toy toy = new Toy("Doll", 34);
        System.out.println(toy.name);
        System.out.println(toy.cost);
    }
}


0 comments
Leave your comment: