3 class A { 4 public void fun1(){ 5 System.out.println("A--->public fun1()"); 6 } 7 public void fun2(){ 8 this.fun1(); 9 } 10 }; 11 class B extends A{ 12 public void fun1(){ 13 System.out.println("B---->public void fun1()"); 14 } 15 public void fun3(){ 16 System.out.println("B------>public void fun3()"); 17 } 18 }; 19 20 public class PolDemo1 { 21 public static void main(String[] args){ 22 B b = new B();//实例化对象 23 A a=b;//向上转型关系 24 a.fun1(); 25 a.fun2();
//a.fun3();不存在报错 26 } 27 };
输出:
B---->public void fun1()
B---->public void fun1()
方法覆盖,向上转型先执行覆盖方法,再再执行父类;