调用函数时this
和.this
之间有什么区别?而且,使用this
或this.
时会发生什么?
示例:
class reference
{
public void object()
{
reference obj = new reference();
this.obj();
}
}
答案 0 :(得分:5)
当你有一个非静态嵌套类需要引用它的封闭类的实例时,Class.this
语法很有用。它仅用于有内部类的情况,并且需要引用封闭的班级
在实例方法或构造函数中,this
是对当前对象的引用 - 正在调用其方法或构造函数的对象。您可以使用this
从实例方法或构造函数中引用当前对象的任何成员。
一个很好的例子
public class TestForThis {
String name;
public void setName(String name){
this.name = name;
}
public String getName() {
return name;
}
class TestForDotThis {
String name ="in";
String getName() {
return TestForThis.this.name;
}
}
public static void main(String[] args) {
TestForThis t = new TestForThis();
t.setName("out");
System.out.println(t.getName());
TestForThis.TestForDotThis t1 = t.new TestForDotThis();
System.out.println(t1.getName());
}
}
输出
out
out