Java多态之引用类型转换
来源:互联网 发布:台账软件 编辑:程序博客网 时间:2024/06/05 18:07
其中Animal
、Dog
、Cat
类在Java多态这篇文章中
public static void main(String[] args) { /* * 基本数据类型中,存在类型转换 * int i=1; * short s=(short)i;//强制转换为short类型 */ //在多态中也需要进行类型转换 Animal a=new Dog(); //Dog d=a;//编译报错:类型不匹配:不能从 Animal 转换为 Dog //强制类型转换 Dog d=(Dog)a;//编译正确 a.eat();//输出: dog eat bone Animal c=new Cat(); //Cat c=(Cat)a; /* * 编译正确,但是运行错误:Dog cannot be cast to Cat * 因为即使加了强制转换,Dog也不能转换为Cat * 所以在转换时,实际是什么类型就转换为什么类型 */ /* * 关键字 instanceof * 作用:判断对象是否是一个类的 实例 * 用法:boolean b=对象名 instanceof 类名 * 若对象是类的实例,返回true * 若对象时类的父类的实例,也返回true */ if(a instanceof Dog){//true System.out.println("a是Dog类型"); } if(c instanceof Dog){//false System.out.println("c是Dog类型"); } else{ System.out.println("c不是Dog类型"); } /* * 当需要知道对象是否是真是实例的类型时 * 用getClass方法 * 用法:对象名.getClass() == 另一对象名.getClass() */ if(d.getClass()==a.getClass()){//都为Dog类型,输出相同 System.out.println("a和d类型相同"); } else{ System.out.println("a和d类型不相同"); } if(d.getClass()==c.getClass()){//d为Dog类型,c为Cat类型,输出不同 System.out.println("c和d类型相同"); } else{ System.out.println("c和d类型不相同"); } }
0 0
- Java多态之引用类型转换
- Java多态中的引用类型转换
- java多态中的引用类型转换
- Java 引用类型转换
- 多态引用类型转换
- Java多态中的引用类型转换理解模型
- Java知识(多态和引用类型转换)
- Java---引用类型强制转换之学生、干部
- Java的引用类型转换
- Java引用类型 Java类型转换疑惑
- 多态中的引用类型转换
- 多态中的引用类型转换
- java引用类型的强制类型转换
- JAVA引用类型强制类型转换
- java引用类型的强制类型转换
- JAVA学习-多类中的引用类型转换
- java之类型转换
- 厨娘的Java笔记(一):强制类型转换之引用转换
- 九度OJ Graduate Admission
- Android-解决ScrollView和ListView嵌套的问题
- [Spring boot] web应用返回jsp页面
- live555: The input frame data was too large for our buffer size 解决方法
- 实现前端图片排序,并将排序结果传给后台
- Java多态之引用类型转换
- C++实现文件查找可指定格式
- SpringDataJPA学习记录(一)--环境配置
- nodejs安装
- Win7如何解决telnet不是内部或外部命令的方案!
- 蕴涵,若A则B
- linux 把nginx加入到系统服务的方法
- iptable格式
- 从数组到HashMap之算法解释