理解Java的多态机制
程序员文章站
2024-02-09 18:06:12
...
实现多态的步骤:
1、继承父类
2、覆盖父类方法(如fun2())
3、使用父类声明对象,创建子类实际对象,即父类引用实际指向子类对象(堆中)
4、调用被覆盖的方法(包括子类中某行代码调用被覆盖的方法fun2(),还是直接父类引用调用方法fun2(),如father_monther_fucker.fun2(); ),将实际动态执行子类的方法fun2(),而不是父类的fun2() )
public class Wine {
public void fun1(){
System.out.println("Wine 的Fun.....");
fun2();
}
public void fun2(){
System.out.println("Wine 的Fun2...");
}
}
public class JNC extends Wine{
/**
* @desc 子类重载父类方法
* 父类中不存在该方法,向上转型后,父类是不能引用该方法的
* @param a
* @return void
*/
public void fun1(String a){
System.out.println("JNC 的 Fun1...");
fun2();
}
/**
* 子类重写父类方法
* 指向子类的父类引用调用fun2时,必定是调用该方法
*/
public void fun2(){
System.out.println("JNC 的Fun2...");
}
}
public class Test {
public static void main(String[] args) {
Wine a = new JNC();
a.fun1();
}
}
-------------------------------------------------
Output:
Wine 的Fun.....
JNC 的Fun2...
上一篇: java多态的实现机制
下一篇: Java之AF、RI