多态的概念
继承或者接口都是多态性的体现,举例:小明是个学生,它既有学生身份又有人类身份,这就是多太
多态的格式与使用
父类引用指向子类对象
格式:父类名称 对象名 = new 子类名称();
Shix shix = new Ces();
接口名称 对象名 = new 实现类名称();
Jiek jiek = new Shix();
在动态代码中,成员方法访问的规则
new的是谁就先用谁,没有就往上找
编译看左边,运行看右面
对象的向上转型
其实就是多态的写法
父类名称 对象名 = new 子类名称():含义:右侧创建一个子类对象,把他当父类看待
一旦转型就无法访问本类的内容,但是可以向下转型【还原】
向下转型
格式:子类名称 对象名 = (子类名称)父类对象; 含义:将父类对象还原成子类对象
Animal animal = new Cat(); animal.eat(); Cat cat = (Cat) animal; cat.wgfy();
必须先向上转型了之后在转回去,不能直接转回去
instanceof关键字进行
格式:对象 instanceof 类名称
将会得到一个boolean结果,判断前面的对象能否向下转型
用if语句