1.多态概述
1.1多态是继封装、继承之后,面向对象的三大特性。
2.多态体现为父类引用变量可以指向子类对象。
3.前提条件:必须有子类父类关系。
4.多态的定义与使用格式
定义格式:父类类型 变量名=new 子类类型();
5.理解:
5.1多态是同一个行为具有多个不同表现形式或形态的能力。
5.2多态就是同一个接口,使用不同的实例而执行不同操作。
7.以七个葫芦娃为例:每个葫芦娃都有不同的战斗方式,需要一个来调用。
(1)提供一个父类
public abstract class PowerChild {
public abstract void fighterSkill();
}
(2)调用者
public class leader {
public void scedure(PowerChild pc){
pc.fighterSkill();
}
}
(3)子类(fireBoy、waterBoy)
public class fireBoy extends PowerChild {
@Override
public void fighterSkill(){
System.out.println("喷火战斗法");
}
}
public class waterBoy extends PowerChild {
@Override
public void fighterSkill(){
System.out.println("喷水战斗法");
}
}
(4)测试代码
public class test {
public static void main(String[] args) {
leader lead=new leader();
//选派(先把要传递的实参new出来)
fireBoy fb=new fireBoy(); //子类对象
lead.scedure(fb); //传实参时传子类对象
System.out.println("--------------------------------------");
lead.scedure(new fireBoy()); //
}
}
(5)运行结果