首页 > 代码库 > super and this

super and this

如果子类声明了一个与父类的成员变量同名的成员变量,则称父类的成员变量被隐藏(hiding)。

如果子类声明了一个与父类成员方法同名的成员方法,则称父类的该成员方法被重写(overriding)。

关键字this 和 super分别用来指明子类和父类中同名成员变量或成员方法。

当父类的成员变量、子类的成员变量和类方法使用的局部变量三者同名,或其中的两者同名时,可以使用关键字this和super来指定所要使用的变量。

class A{
    int x;    //在类A中声明了成员变量X
}

class B extends A{    //类B继承类A,同时也继承了类A的成员变量X。
    int x;            //在类B中又声明了一个成员变量X

    
    void m(){
       int x;        //方法m中又声明了自己的局部变量x
       super.x=2;    //  super修饰的是其所在类父类即类A的x
       this.x=1;     //  this 修饰的是其所在类即类B的x
       x=100;        //   这里的x是方法m本身的局部变量x
    }
}

super关键字  引用blog  http://www.cnblogs.com/xdp-gacl/p/3635948.html

super and this