类名.this

class OuterClass {
    final String str = "OuterClass";
    private InnerClass innerClass;

    public InnerClass getInner() {
        innerClass = new InnerClass();
        return innerClass;

    }

    class InnerClass {
        final String str = "InnerClass";
        final String str2 = this.str;//指向内部类的域
        final String str3 = OuterClass.this.str;//指向外部类的域
    }

    public static void main(String[] args) {
        OuterClass outerClass = new OuterClass();
        InnerClass innerClass = outerClass.getInner();
        System.out.println(innerClass.str);
        System.out.println(innerClass.str2);
        System.out.println(innerClass.str3);
    }

}

输出结果:

InnerClass
InnerClass
OuterClass
组合 用法说明
this 指代当前对象的引用
类名.class 指向每个类对应的唯一类对象(类型为Class)
类名.this 内部(可以是匿名内部类)类调用外部类的对象时使用,即在内部类中使用时:外部类对象是外部类名.this,内部类对象则是this

猜你喜欢

转载自blog.csdn.net/yangyangrenren/article/details/115109997