关于什么是Java中的多态,相信正在看这篇文章的同学们已经了解了不少概念,所以在这里我们就不再说过多废话,直接上代码来理解什么是多态~
测试代码
class Father {public void func1(){func2();}public void func2(){System.out.println("AAA");}public static void func3(){System.out.println("father-static");}}class Child extends Father{public void func1(int i){System.out.println("BBB");}public void func2(){System.out.println("CCC");}public static void func3(){System.out.println("son-static");}}public class Test_2 {public static void main(String[] args) {//实际类型是确定的,但是引用类型不确定//对象能执行哪些方法主要看左边的类型,和右边的关系不大Father child = new Child(); // 父类的引用指向子类child.func1();child.func2();child.func3();((Child) child).func3();}
}
测试结果
CCC
CCC
father-static
son-static