频道 > 生活 >   >  正文

关于Java中对象的向上转型和向下转型_看热讯

评论


(资料图片)

什么是多态?

同一个类调用同一个方法会产生不同的影响/结果 这就是多态

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)

标签:

今日热点

热点排行

最近更新

所刊载信息部分转载自互联网,并不代表本网赞同其观点和对其真实性负责。邮箱:5855973@qq.com

联系我们| 中国品牌网 | 沪ICP备2022005074号-18 营业执照  Copyright © 2018@. All Rights Reserved.