多态相关知识点

多态

在Java中,引用变量有两个类型,一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就可能出现多态。所谓的多态就是同样一个东西表现出多种不同方式。
多态相关知识点
多态的出现是当编译时类型和运行时类型不相同时,出现的!
多态存在的条件:
1: 有继承关系 (或者接口实现关系)
2: 有上溯造型 (父类类型 变量 指向 子类类型对象)
3: 有方法重写 (或方法实现)

多态相关知识点
实例:下面是一个包里面的测试类!Animal是父类。
多态相关知识点
多态相关知识点
多态相关知识点多态相关知识点
运行结果:
多态相关知识点
总结:
上转型:不能调用父类里面原来没有的方法或者变量!

多态相关知识点
下转型:下转型之后就可以调用子类中的某些父类中没有的方法或者变量!
多态相关知识点
用处:方法入参的多态,防止频繁的重写
多态相关知识点