JAVA 多态,
分享于 点击 22884 次 点评:262
JAVA 多态,
多态: 一种事物的多种形态
好处: 增强代码可维护性 可扩展性
弊端: 不能直接调用子类的特殊方法
规则(前提)
1.类与类之间要有联系
2.要有方法的重写
3.父类的引用指向子类的对象
class Animal{
public void eat() {
System.out.println("吃食物");
}
}
class Cat extends Animal{
public void eat() {
System.out.println("猫吃鱼");
}
}
可以看到这里创建了两个类 动物是父类 猫是子类
Animal animal = new Cat();
a1.eat();
这里就是父类的引用指向子类的对象
打印出来的也就是猫吃鱼
多态时 当父类引用调用成员变量的时候
如果父类中没有这个成员变量 编译器不会通过
运行时 访问的是父类中的这个成员变量
多态时 调用成员方法的时候
编译器还是看父类有没有这个成员方法
但运行时是运行的子类的这个方法
向上转型: 子类赋值给父类
向下转型: 父类赋值给父类(必须先前有过向上转型)
instanceof 是关键词
用来判断 关键词左边是否属于右边那个类的对象
相关文章
- 暂无相关文章
用户点评