1. 多态的特点
- 多态概述
某一个事物,在不同时刻表现出来的不同状态。 - 多态前提
要有继承关系。
要有方法重写。 其实没有也是可以的,但是如果没有这个就没有意义。
要有父类引用指向子类对象。
2.多态中成员访问特点
a:成员变量
编译看左边,运行看左边。
b:构造方法
创建子类对象的时候,会访问父类的构造方法,对父类的数据进行初始化。
c:成员方法
编译看左边,运行看右边。
d:静态方法
编译看左边,运行看左边。
3.多态的好处和弊端
- 好处
a:提高了代码的维护性(继承保证)
b:提高了代码的扩展性(由多态保证) - 弊端
不能使用子类特有的功能
4.多态的应用
我们新建一个动物类 和一个狗类,让狗类继承动物类然后用多态的形式访问狗类中的成员方法。
代码:
public class Anmal {
public void eat(){
System.out.println("吃饭");
}
public void sleep(){
System.out.println("睡觉");
}
}
public class Dog extends Anmal {
@Override
public void eat() {
super.eat();
}
@Override
public void sleep() {
super.sleep();
}
public void lookDoor(){
System.out.println("看门");
}
}
public class MyTest {
public static void main(String[] args) {
Anmal an = new Dog();
an.eat();
an.sleep();
((Dog) an).lookDoor();
}
}
运行结果:
结论:
理解多态的用法会对多态进行向上转型和向下转型。