Có hai cách để tham chiếu cá thể của một lớp trong lớp đó. Ví dụ:Sự khác nhau giữa Class.this và điều này trong Java
class Person {
String name;
public void setName(String name) {
this.name = name;
}
public void setName2(String name) {
Person.this.name = name;
}
}
Một sử dụng this.name
để tham khảo các lĩnh vực đối tượng, nhưng khác sử dụng className.this
để tham khảo các lĩnh vực đối tượng. Sự khác nhau giữa hai tham chiếu này là gì?
Nếu thay vì Person.this.name bạn vừa nói "return name" sẽ không hoạt động? –
@Amit G - trong ví dụ này, có, nó sẽ hoạt động. tuy nhiên, có những lúc bạn cần phải làm rõ "điều này" bạn đang sử dụng (ví dụ: nếu có xung đột trong tên var thành viên hoặc tên phương thức). xem câu trả lời của Michael cho một ví dụ có liên quan. – jtahlborn
ah vâng, cảm ơn! –