如果子类声明了一个与父类的成员变量同名的成员变量,则称父类的成员变量被隐藏(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
时间: 2024-12-17 18:25:04