对象转型问题 求教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 向上转型会使类的接口变窄,例子就是shape,cicle那个.向下转型编译器要求显示的说明,额,我一般用的时候就是将对象从容器中取出的时候.从object向下转型成特定的类.新手,不知道说的对不对. class Parent{}class Child extends parent{}public class Test{ public static void main(String [] args){ Parent p1=new Parent(); Parent p2=new Child(); Child c1=new Child(); Child c2=(Child)p2;//编译通过,运行通过; Child c3=(Child)p1;//编译通过,运行错误; Date d1=(Date)c1;//编译错误,运行错误; }}总结:1:强制转换必须在继承链上边; 2:在进行强制转换之前,最好用instanceof 操作符检查一下;eg:if(p2 instanceof Child){ Child c2=(Child)p2;//编译通过,运行通过;} socket多线程阻塞问题 日期相加 问题 jni加载dll库时,环境变量设定问题 大家来讨论下这个面试题 笔试题目java算法求解 如何用java连接SQL server 2005 高分:如何知道一个文件被拷贝了多少次 各位高手请进 java中如何缓存文件? 电子图书下载!!! 救命啊,恳请各位高手赐答 如何用java读取本机上所打的windows补丁信息??
向下转型编译器要求显示的说明,额,我一般用的时候就是将对象从容器中取出的时候.从object向下转型成特定的类.
新手,不知道说的对不对.
class Parent{}
class Child extends parent{}
public class Test{
public static void main(String [] args){
Parent p1=new Parent();
Parent p2=new Child();
Child c1=new Child();
Child c2=(Child)p2;//编译通过,运行通过;
Child c3=(Child)p1;//编译通过,运行错误;
Date d1=(Date)c1;//编译错误,运行错误;
}
}总结:1:强制转换必须在继承链上边;
2:在进行强制转换之前,最好用instanceof 操作符检查一下;
eg:
if(p2 instanceof Child){
Child c2=(Child)p2;//编译通过,运行通过;
}