您的位置:首页 > 其它

子类覆盖父类的成员变量

2016-03-22 12:04 260 查看
class A {
int a = 100;

void f() {
System.out.println(a);
}
}

class B extends A {

int a = 9999;

void f() {
System.out.println(a);
System.out.println(this.a);
System.out.println(super.a);

}

}

public class TestClient {

private static Context context;

public static void main(String[] args) {

A a = new B();
System.out.println(a.a);
a.f();
System.out.println("======================");
B b = new B();
b.f();
System.out.println("=======================");
((A) a).f();
}

}
100
9999
9999
100
======================
9999
9999
100
=======================
9999
9999
100

总结:子类覆盖父类的方法时,直接调用成员变量,其实是:this.成员变量。(应该是编译器自己加上的吧?)

如果要调用父类的变量,就得super.成员变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: