Java 多态
多态:
格式:父类 变量 = new 子类();
调用成员变量特点
成员变量:编译运行看左边 (父类)
编译时,如果父类有该成员变量,则编译成功,如果父类没有则编译失败
运行时,结该成员变量指向父类
调用成员方法特点
成员方法:编译运行看左边 (父类)
编译时,如果父类有该方法,则编译成功,如果父类没有则编译失败
运行时,运行的结果走的是子类重写父类后的方法
instanceof关键字:(返回布尔值)用于判断该变量是不是输入该类的实例
左边如果跟右边在继承体系上没有任何关系,则编译失败
Animal a1 = new Cat();
Animal a2 = new Pig();
boolean f1 = a1 instanceof Animal;
多态的转型:
1、向上转型:
父类类型 变量名 = new 子类类型();
2、Person p = new Student();
向下转型:前提:已经向上转型的才可以强制向下转型
父类类型 变量名 = new 子类类型();
Person p = new Student();
子类类型 变量名 = (子类类型) 父类类型的变量;
Student stu = (Student) p
向下转型后,可以调用子类独有的方法。