一道关于java的选择题

classThisClass{publicstaticvoidmain(Stringagrs[]){Objecto=(Object)newThisClass();This... class ThisClass {
public static void main(String agrs[]){
Object o=(Object)new ThisClass();
ThisClass s=(ThisClass)o;
if(o.equals(s))
System.out.println("true");
else
System.out.println("false");
}
}

根据以上程序段,以下的说法正确的是(   )。
(1) 编译无法通过
(2) 编译通过,但运行时引发异常ClassCastException
(3) 编译运行均正常,并输出true;
(4) 编译运行均正常,并输出false;
知道请帮我看分析一下,最好详细点的饿,多谢啊
展开
 我来答
lylegend13
2011-11-24 · TA获得超过4695个赞
知道大有可为答主
回答量:1701
采纳率:0%
帮助的人:1703万
展开全部
你好,答案是(3) ,

Object o=(Object)new ThisClass();
java里所有类都是继承自Object,所以这个转换没有问题

ThisClass s=(ThisClass)o;
这句代码是把Object又还原成它本来的类

if(o.equals(s))
因为它们的值是相当的,所以equals的结果是true
渊之蓝
2011-11-24 · TA获得超过734个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:154万
展开全部
答案是3,我给你解释下:
话说,有一个两条腿、中间有小弟弟的家伙远远的站在那( new ThisClass(); ),上帝看到了,说,这是"人"(Object)并远远的看着他(此时上帝把这个”人“叫做 o ),玉皇大帝来个,说,这是"男人"(ThisClass),也远远的看着他(此时玉帝把这个”男人“叫做 s ),现在问你,这个“男人“和这个”人“是同一个家伙么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
智文彦rc
2011-11-24 · 超过11用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:36.3万
展开全部
答案是(3) 编译运行均正常,并输出true;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gzslin2011
2011-11-24
知道答主
回答量:12
采纳率:0%
帮助的人:12.6万
展开全部
我觉得应该是3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式