什么时候父类能强制转换成子类?? 呵呵,不会吧。你要向OOP挑战吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 据我所知,下列方法就可以,但这只是一种特例,不知那位大虾知道他的规则?B b = new B();B bb;A a;a = (A)b;bb = (B)a; 父类(指引用)所代表的对象(内存实体)本身是其某子类的实例,则可转换,且可安全使用。如:Component aComp=new TextField(); TextField txt=(TextField)aComp; txt.setText("ok");接口与其实现类之间也有相同特征。 这并不是特例, 而是一般情况, 比如同上的例子, 比如常用的 Vector,等等都是这类情况, 具体就是 wangtaoyy 所说的. 如果精确地象你写的代码一样,答案是:不能转!一定会抛出异常的!(ClassCastException)以上回答的各位请注意:如果代码是这样写的是可以的:class A {}calss B extends A{}A a = new B{}; //注意这里与问题代码的不同!但要是精确地按问题的写法结果就一定是 ClassCastException!B b;b = (B)a; //这样做没什么意义。 其实无论怎样,用instanceobject.getClass()的方法只会得到创建所使用的类。不会因为实例被类型转换而改变:) 字符转换的问题,高手们都进来吧! 正则表达式 JAVA 如何获取被选中的JRadioButton的值 解析xml文,然后入库 java gui 这个外面的边框是怎么做的。 求实现统计java类的次数的代码 ************多线程问题ThreadLocal*************** 问: transient关键字是什么意思?有什么作用? 高分请高手指点,急啊! jbuilder开发java程序的问题 长沙哪里买到 thinking in java ? 纯java能做服务器端的SESSION保存提交信息吗?
B b = new B();
B bb;
A a;
a = (A)b;
bb = (B)a;
如:Component aComp=new TextField();
TextField txt=(TextField)aComp;
txt.setText("ok");
接口与其实现类之间也有相同特征。
等等都是这类情况, 具体就是 wangtaoyy 所说的.
class A {}
calss B extends A{}
A a = new B{}; //注意这里与问题代码的不同!但要是精确地按问题的写法结果就一定是 ClassCastException!
B b;
b = (B)a; //这样做没什么意义。