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.