Bài tập

Từ khóa <code>this</code> trong Java: Sử dụng và ứng dụng

Huy Erick

Từ khóa this trong Java là một biến tham chiếu được sử dụng để tham chiếu tới đối tượng của lớp hiện tại. Trong bài viết này, chúng ta sẽ tìm hiểu về 6 cách...

Từ khóa this trong Java là một biến tham chiếu được sử dụng để tham chiếu tới đối tượng của lớp hiện tại. Trong bài viết này, chúng ta sẽ tìm hiểu về 6 cách sử dụng của từ khóa this trong Java.

1. Tham chiếu tới biến instance của lớp hiện tại.

Từ khóa this trong Java có thể được dùng để tham chiếu tới biến instance của lớp hiện tại. Điều này hữu ích khi có sự trùng tên giữa biến toàn cục và tham số. Từ khóa this sẽ giúp bạn phân biệt được hai biến này.

public class Student {
    String name;

    public Student(String name) {
        this.name = name;
    }
}

Student student = new Student("John");

2. Sử dụng this() để gọi Constructor của lớp hiện tại.

Phương thức this() có thể được sử dụng để gọi Constructor của lớp hiện tại. Điều này hữu ích khi bạn có nhiều Constructor trong một lớp và muốn sử dụng lại các Constructor đó.

public class Student {
    String name;
    int age;

    public Student(String name) {
        this(name, 18);
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

Student student1 = new Student("John");
Student student2 = new Student("Jane", 20);

3. Gọi phương thức của lớp hiện tại.

Bạn có thể sử dụng từ khóa this để gọi phương thức của lớp hiện tại. Nếu không sử dụng từ khóa this, trình biên dịch sẽ tự động thêm nó cho việc gọi phương thức.

public class Student {
    String name;

    public void setName(String name) {
        this.name = name;
    }
}

Student student = new Student();
student.setName("John");

Hình ảnh minh họa việc sử dụng từ khóa this trong Java

4. Sử dụng từ khóa this như một tham số của phương thức.

Từ khóa this có thể được sử dụng như một tham số trong phương thức, đặc biệt là trong xử lý sự kiện.

public class Button {
    public void onClick(ClickListener clickListener) {
        clickListener.onClick(this);
    }
}

public interface ClickListener {
    void onClick(Button button);
}

Button button = new Button();
button.onClick(new ClickListener() {
    @Override
    public void onClick(Button button) {
        System.out.println("Button clicked!");
    }
});

5. Sử dụng từ khóa this như một tham số của Constructor.

Bạn cũng có thể truyền từ khóa this trong Constructor. Tính năng này rất hữu ích khi bạn muốn sử dụng một đối tượng trong nhiều lớp.

public class Person {
    String name;
    int age;

    public Person() {
        this("John Doe", 18);
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

Person person = new Person();

6. Sử dụng từ khóa this để trả về instance của lớp hiện tại.

Chúng ta có thể trả về instance của lớp hiện tại bằng cách sử dụng từ khóa this. Trong trường hợp này, kiểu trả về của phương thức phải là kiểu class (không là kiểu nguyên thủy).

public class Person {
    String name;

    public Person(String name) {
        this.name = name;
    }

    public Person getInstance() {
        return this;
    }
}

Person person = new Person("John");
Person instance = person.getInstance();

Ví dụ chứng minh rằng từ khóa this tham chiếu tới biến instance của lớp hiện tại. Chúng ta in biến tham chiếu và this, kết quả của chúng là giống nhau.

public class Person {
    String name;

    public Person(String name) {
        this.name = name;
        System.out.println("Tham chiếu: " + this);
    }

    public static void main(String[] args) {
        Person person = new Person("John");
        System.out.println("this: " + person);
    }
}

Trên đây là 6 cách sử dụng từ khóa this trong Java. Hy vọng rằng bạn đã hiểu rõ và có thể áp dụng chúng vào công việc lập trình của mình.

1