关于什么是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