Istnieją dwa sposoby odwoływania się do instancji klasy w tej klasie. Na przykład:Jaka jest różnica między klasą Class.This a klasą Java w języku Java?
class Person {
String name;
public void setName(String name) {
this.name = name;
}
public void setName2(String name) {
Person.this.name = name;
}
}
używa this.name
odwoływać się do pola obiektu, ale z drugiej strony wykorzystuje className.this
odwoływać się do pola obiektu. Jaka jest różnica między tymi dwoma odniesieniami?
Jeśli zamiast Person.this.name właśnie powiedziałeś "Zwróć nazwę", czy to nie zadziała? –
@Amit G - w tym przykładzie tak, to zadziała. jednak są chwile, kiedy trzeba wyjaśnić, które "to", którego używasz (np. jeśli występują konflikty w nazwach członków zestawu lub nazwach metod). zobacz odpowiedź Michaela na odpowiedni przykład. – jtahlborn
ah tak, dzięki! –