黑马程序员技术交流社区
标题:
哈尔滨校区学习之多态面试题
[打印本页]
作者:
Mr.Cai
时间:
2015-11-30 22:52
标题:
哈尔滨校区学习之多态面试题
class A {
public void show() {
show2();
}
public void show2() {
System.out.println("我");
}
}
class B extends A {
public void show() {
show2();
}
public void show2() {
System.out.println("爱");
}
}
class C extends B {
public void show() {
super.show(); //在这里调用了父类的show()方法,这里调用的是show2()
}
public void show2() {
System.out.println("你");
}
}
public class Test2DuoTai {
public static void main(String[] args) {
A a = new B(); //多态
a.show(); //编译看左,运行看右。 打印 "爱"
B b = new C(); //多态
b.show(); //编译看左,运行看右。打印 "你"
}
}
总结:
只有非静态的方法,是编译看左边,运行看右边。原因是因为:方法有重写。
其他(静态方法,成员变量)都是编译看左边(父类),运行看左边(父类)。
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2