理解Java中的多态
程序员文章站
2022-05-06 18:20:15
...
理解Java中的多态
1. 一句话:父类类型能够使用父类全部方法+子类继承父类的方法(包括重写的方法)
这个设计非常人性:可以想一想,假如一对父子,老王和小王。
老王{ 有钱 , 伴侣一个 , 投资房地产 }
小王{ 伴侣n个 , 投资电竞 }
伴侣:就可一看做小王重载了老王, 投资:小王重写了老王
老王 强化版老王 = new 小王();
强化版的老王{ 仍旧有钱、始终坚持一个伴侣,学不了小王乱撩网红、投资与时俱进,去投电竞}
2. 代码
public class Father {
public void Call(){
System.out.println("叫爸爸");
Meat();
}
public void Meat(){
System.out.println("就带你去喝酒");
}
}
public class Son extends Father{
//重载父类方法
public void Call( String s){
System.out.println(s+",叫爸爸");
Meat();
}
//重写父类方法
public void Meat(){
System.out.println("就带你去买包");
}
}
public class Demo {
public static void main(String[] args) {
Father father = new Father();
father.Call();
System.out.println("-----------分割----------");
Son son = new Son();
son.Call();//子类中没有这个方法,说明这是继承父亲的
System.out.println("-----------分割----------");
Son son2 = new Son();
son2.Call("美女");//调用子类中重载的方法
System.out.println("-----------分割----------");
Father richer = new Son();
richer.Call();
}
}
结果:
叫爸爸
就带你去喝酒
-----------分割----------
叫爸爸
就带你去买包
-----------分割----------
美女,叫爸爸
就带你去买包
-----------分割----------
叫爸爸
就带你去买包