多态是指一种事物在不同的阶段表现出不同的状态,多态在Java中主要于继承时体现,继承的最大作用就是触发多态,触发方法重写。
2.多态触发过程package com.mytest.test01;
public class Test02 {
public static void main(String[] args) {
Animal a = new Dog();
}
}
class Animal {
public void eat() {
System.out.println("动物吃东西");
}
}
class Dog extends Animal{
@Override
public void eat() {
System.out.println("狗吃东西");
}
}
运行结果:
动物吃东西
狗吃东西
进程已结束,退出代码为 0
- Animal a = new Dog();父类型引用指向子类型对象
- 调用父类子类同名方法,执行子类方法
- **静态绑定:**调用方法的代码被编译时,编译器只看a(引用)有无该方法,即父类有无该方法,如果有,编译通过,没有则报错
- **动态绑定:**通过静态绑定后,编译器再找子类有无该方法的重写,如果有,则优先执行子类的方法,如果没有,则执行父类的方法。
- **多态:**即一种方法两个形态,一个在编译期(父类),一个在执行期(子类)
1:基于接口实现了抽象类和接口,抽象类的抽象方法只能用于重写,它没有方法体。
2:接口比抽象类更纯粹,接口类中只有抽象方法,实现接口必须重写接口里所有方法,而且接口实现了多继承,更好的符合单一原则,实现一个接口只做一件事情。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)