目录
一、概念
多态性是指同一个操作作用于某一类对象,可以有不同的解释,产生不同的执行结果
二、必要条件
- 需要存在继承或实现(接口)关系
- 同样的方法调用而执行不同操作、运行不同代码(重写)
- 在运行时父类或者接口的引用变量可以引用其子类的对象
三、作用
- 多态通过分离做什么和怎么做,从一个角度将接口和实现进行分离
- 多态消除了类型之间的耦合关系
- 多态的存在提高了程序的拓展性和后期的可维护性
四、代码理解
//需要存在继承或实现(接口)关系
abstract class Animal{
public String name;
public abstract void eat();
}
class Dog extends Animal{
public void eat(){
System.out.println("狗啃骨头");
}
}
//同样的方法调用而执行不同操作、运行不同代码(重写)
class Cat extends Animal{
public void eat(){
System.out.println("猫吃鱼");
}
}
public class Test {
public static void main(String[] args) {
//在运行时父类或者接口的引用变量可以引用其子类的对象
Animal a1 = new Dog();
Animal a2 = new Cat();
a1.eat();
a2.eat();
}
}
/*
狗啃骨头
猫吃鱼
*/
师承上官可编程 —— 陈立臣