小编kha*_*esp的帖子

了解使用Super访问Superclass成员

我指的是java语言规范,以了解super的用法.虽然我理解第一个用例即

表单super.Identifier引用当前对象的名为Identifier的字段,但将当前对象视为当前类的超类的实例.

我似乎无法理解以下用例:

该表单T.super.Identifier引用了与词汇封闭实例相对应的名称Identifier T,但该实例被视为超类的实例T.

有人可以借助代码解释一下吗?

我想以下可能是第二种情况的说明:

class S{
    int x=0;
}

class T extends S{
    int x=1;
    class C{
        int x=2;
        void print(){

            System.out.println(this.x);
            System.out.println(T.this.x);
            System.out.println(T.super.x);
        }
    }
    public static void main(String args[]){
        T t=new T();
        C c=t.new C();
        c.print();
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:2 1 0

java super

6
推荐指数
1
解决办法
154
查看次数

标签 统计

java ×1

super ×1