Java有三大特性:封装,继承和多态
多态是Java中非常重要的一个概念,那么多态是什么?又有什么用法呢?
首先,多态可以理解为同一个对象,在不同的时候,有不同的状态。
public class Main {
public static void main(String[] args) {
cat c=new Chinacat();
}
}
上面就是 一个简单的多态。组成就是父类 对象=new 子类
关于成员方法,编译时先访问左边的成员方法,在访问右边的。运行时则相反。
关于成员变量,编译时和运行时都先访问左边的。
这样编程有什么好处呢?
那就是,在遇到需要更改代码的时候,可以提高效率。并且在定义方法时,对象可以接收父类的其他子类对象,提高了可延展性。
缺点就是,对象不能使用子类特有的方法。
但这个缺点可以用些方法弥补。
比如强制类型转换,转换分为向上转换和向下转换。向上转换就是将子类转换为父类,这中转换风险较小,因为父类可以兼容子类。
向下转换则风险较大,可能会出现异常