1 多态概念
多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个借口,使用不同的实例而执行不同的操作。
多态性是对象多种表现形式的体现。
2 多态存在的三个必要条件
- 继承
- 重写
- 父类引用指向子类对象:
Animal a = new Dog();
使用多态方式调用属性和方法时,能调用所有父类的属性和方法,如果子类重写了父类的方法,则按照子类的方法内容执行,无法调用子类 单独存在的方法 和属性。
若将多态实例化对象(如上述a)强制转换为子类对象((Dog)a),则其可以调用子类的方法和属性。
3 多态的实现方式
-
重写
-
接口
public interface Person {
int PERSION = 1;
void person();
default void defaultPerson(){
System.out.println("defaultPerson");
}
}
------------------------------------------
public class LiSi implements Person{
int lisi = 2;
@Override
public void person() {
System.out.println("LiSi")
}
}
--------------------------------------------
public class Demo {
public static void main(String[] args) {
Person lisi = new LiSi();
lisi.person();
lisi.defaultPerson();
}
}
//结果
----------------------------------------------
LiSi
defaultPerson
- 抽象类和抽象方法
4 多态的优点
- 消除类型之间的耦合关系
- 可替换性
- 可扩充性
- 接口性
- 灵活性
- 简化性
多态的好处:可以是程序有良好的扩展,并可以对所有类的对象进行通用处理。