标签:.com ips 简单的 pre 成员 clip color 阅读 有一个
一、如果子类与父类中有一个相同名称的成员变量,那么子类的成员变量会不会覆盖父类的成员变量?我们看下在的例子:
public class A { public int x=10; } public class B extends A { public int x=20; } public class C { public static void main(String[] args) { A a=new B(); System.out.println(a.x); //1 B b=new B(); System.out.println(b.x); //2 System.out.println(((A)b).x); //3 } }
运行C类的main方法的结果为:
10
20
10
通过结果我们可以看出子类是不会覆盖父类的成员变量,我们eclipse的调试工具也能很清晰的看出在对像a中同时存在两个x的成员变量(其中一个是父类的),如下图示:
通过第1个和第3个的结果,可以得出对像对于成员的直接访问是静态邦定的 ,官方解释如下:
public class A { public static void print() { System.out.println("A Static "); } } public class B extends A { public static void print() { System.out.println("B Static "); } } public class C { public static void main(String[] args) { A a=new B(); a.print(); B b=new B(); b.print(); ((A)b).print(); } }
结果如下:
A Static
B Static
A Static
标签:.com ips 简单的 pre 成员 clip color 阅读 有一个
原文地址:http://www.cnblogs.com/bateman6988/p/7565596.html