3.多态
多态分为对象多态和行为多态
行为多态是指相同的语句有不同的实现,执行相同的语句不用的操作
行为多态分为静态多态和动态多态.
静态多态是通过方法的重载实现的,在编译阶段就确定了要执行的代码,又称为编译时多态.
动态多态是在继承中,子类重写父类的方法,用过父类的引用调用被重写的方法,实际上执行的是子类的方法.
public class Demo {
Pet pet = new Pet("宠物","",0);
pet.bark();
//父类的引用指向子类的对象
pet = new Dog("","",0,"");
//通过父类的引用调用被重写的方法
pet.bark();
/**
*在程序的执行过程中,pet 父类的引用可以指向子类的对象,这叫动态绑定
./
}
多态的四个条件,这四个条件必须同时满足:
1. 继承
2. 子类重写父类的方法
3. 父类的引用指向子类的对象
4. 通过父类的引用调用被重写的方法
注意:1.对于实例变量来说,不存在多态的问题
2.静态方法也没有多态的问题