java 子类强制转换为父类,父类强制转换为子类调用问题

 我来答
没有响应m2
2011-12-10 · TA获得超过8387个赞
知道大有可为答主
回答量:7579
采纳率:33%
帮助的人:3471万
展开全部
父类不能强制转换成子类~~!!!!
强制转换子类的情况 是使用父类的引用 引用了子类对象的实例 这个对象是实例的实例而不是父类的实例 这个时候才能用强制转换 否则不可以
就那那个例子 如果让你转换了的话调用mb_vb()方法的时候会发生什么?? 父类的实例根本就没有那个方法
还有你讨论的这个完全没有任何意义.................
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd9006
2011-12-10 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
类A = (类A) 类aaa;
追问
求解
class a{
}
class b extends a{
public void mb_vb(){
System.out.println("sub");
}
}
public class HHGGHG {
public static void main(String[] args) {
b app=(b)new a();
//插入语句输出sub
}
}
追答
就是 app.mb_vb();

但父类转成子类,是失败的
public class TT extends T{
protected String tt="ttClass";

public static void main(String args[]) {
TT tt = new TT();
T t = new T();
T t1 = (T) tt;
System.out.println("t="+t+" , t.t="+t.t);
System.out.println("tt="+tt+" , tt.tt="+tt.tt+", tt.t="+tt.t);

System.out.println("t1="+t1+" , t.t="+t.t);
TT tt1 = (TT) t;
System.out.println("tt1="+tt1);
}
}

class T {
protected String t="tClass";
}

t=T@4f1d0d , t.t=tClass
tt=TT@1fc4bec , tt.tt=ttClass, tt.t=tClass
t1=TT@1fc4bec , t.t=tClass
Exception in thread "main" java.lang.ClassCastException: T cannot be cast to TT
at TT.main(TT.java:12)

另外,类名应该头字母大写。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式