目标:多态的概述
面向对象的三大特征:
封装,继承,多态。
多态的形式:
父类名称 对象名称 = new 子类构造器;
接口名称 对象名称 = new 实现类构造器;
父类的类型范围 > 子类的类型范围。
多态的概念:
相同类型的行为,在不同的状态下可以表现出不同的特征。
多态的识别技巧:
对于方法的调用:编译看左边,运行看右边。
对于变量的调用:编译看左边,运行也看左边。
多态的使用前提:有三点。
1.必须有继承或者实现关系。
2.必须存在父类类型的变量引用子类类型的对象。
3.存在方法重写。
小结:
记住以上语法。
public class PolymorphicDemo {
public static void main(String[] args) {
//父类名称 对象名称 = new 子类构造器;
Animal a = new Wolf();
a.run(); // 编译看左边,运行看右边。
System.out.println(a.name); // 编译看左边,运行也看左边。
Animal a1 = new Tiger();
a1.run(); // 编译看左边,运行看右边。
System.out.println(a.name); // // 编译看左边,运行也看左边。
}
}
class Animal{
public String name = "动物";
public void run(){
System.out.println("动物可以跑~~~");
}
}
class Wolf extends Animal{
public String name = "狼";
@Override
public void run(){
System.out.println("狼跑的贼贼溜~~~");
}
}
class Tiger extends Animal{
public String name = "老虎";
@Override
public void run(){
System.out.println("老虎跑的贼贼溜~~~");
}
}
来源:https://blog.csdn.net/DreamChaser520/article/details/100971181