JAVA基础-- 对象转型 (casting)
2016-03-28 11:36
435 查看
1. 一个基类的引用类型变量可以指向其子类的对象:
2. 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)
3. 可以使用引用变量instanceof类名来判断该引用型变量所指向的对象是否属于该类或者该类的子类:
4. 子类的对象可以当做基类的对象来使用称作向上转型(upcasting), 反之成为向下转型(downcasting)
a=new Dog("bigyellow","yellow");
2. 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)
System.out.println(a.furname); // error
3. 可以使用引用变量instanceof类名来判断该引用型变量所指向的对象是否属于该类或者该类的子类:
System.out.println(a instanceof Animal); //true System.out.println(a instanceof Dog); //true
4. 子类的对象可以当做基类的对象来使用称作向上转型(upcasting), 反之成为向下转型(downcasting)
a=new Dog("bigyellow","yellow"); //向上转型
Dog d1=(Dog) a; //向下转型
Animal a=new Animal("name");
Dog d=new Dog("dogname","black");
a=new Dog("bigyellow","yellow");
System.out.println(a.name); // bigyellow
System.out.println(a.furname); // errorSystem.out.println(a instanceof Animal); //true System.out.println(a instanceof Dog); //trueDog d1=(Dog) a;
System.out.println(d1.furname); // yellow
相关文章推荐
- JavaWeb项目开发案例精粹-第6章报价管理系统-07View层
- 100天JAVA学习计划01-HelloJAVA
- java动态代理(JDK和cglib)
- 谷歌宣布Android Studio将取代Eclipse
- MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql
- JavaWeb项目开发案例精粹-第6章报价管理系统-06po层
- spring配置datasource三种方式
- JavaWeb项目开发案例精粹-第6章报价管理系统-05Action层
- [疯狂Java]UDP:接收发送数据报、获取接收到的数据报的相关信息
- 一不小心就报了 java.lang.UnsatisfiedLinkError: No implementation found for long 怎么解决
- java中的参数传递——值传递、引用传递
- [java] JVM监控与调优
- 【Java基础】Jar包结构结构分析和操作具体解释
- JavaWeb项目开发案例精粹-第6章报价管理系统-04Service层
- javaRMI详解
- javaRMI详解
- MyEclipse------随机流(能读也能写数据)
- MyEclipse使用经验总结
- java学习笔记-基础篇
- Spring MVC Controller中GET方式传过来的中文参数会乱码的问题