多态
多态的定义
一种事物呈现的多种状态
使用语法
父类名 父类引用 = new 子类类名();
也可以说成:父类指向子类的实例
//继承
类名 对象名 = new 类名();
Dog dog = new dog();
//多态
Pet pet = new Dog();
为什么使用多态
可以提高代码的复用性,解耦合
多态两种转型方式
1:向上转型
子类想父类的转换称为向上转型。
语法格式如下:
<父类型><引用变量名>=new <子类型>();
Pet对象无法调用子类特有的方法
通过父类引用变量调用的方法是子类覆盖或继承了父类的方法,不是父类的方法。
2:向下转型
如果想调用子类特有的方法,需要先判断是否为同一种类型,向下转型
语法格式如下:
<子类型><引用变量名>=(<子类型>) <父类型的引用变量>;
为了避免运行时出现ClassCastException 问题,需要用关键字instanceof来进行判断。
使用时要注意的方式:编译看左边,运行看右边;