(相关资料图)
同一个类调用同一个方法会产生不同的影响/结果 这就是多态
public class Pet{public void eat(){System.out.println("Pet eat...")}}class Dog extends Pet{public void eat(){System.out.pringln("Dog eat...")}public void run(){System.out.pringln("Dog run...子类特有的方法")}}class Cat extends Pet{public void eat(){System.out.println("Cat eat...")}public void swim(){System.out.println("Cat swim...子类特有的方法")}}
限制对子类特有方法的访问
Pet p=new Dog()//向上转型是子类转父类 自动提升不需要强转p.eat()p.run() //报错 只能访问到父类有的方法 编译时看左边类型 运行时看右边类型
使用子类特有的方法
Pet p=new Cat()p=(Cat)p //向下转型是父类转子类 需要强制转换但只能转到运行期类型(这里是Cat)
X 关闭
Copyright © 2015-2032 华西养生网版权所有 备案号:京ICP备2022016840号-35 联系邮箱: 920 891 263@qq.com