Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 Re:【试试看】经典java问题,你能答出几个? [Re:prettyxx]
tool





发贴: 7
积分: 0
于 2004-12-31 07:17 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我来谈谈其中几个问题的看法:
二:
匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

对照一下下面的程序,这个答案给只能让人更加迷惑。

void foo()
{
InputStream in = new InputStream(){public int read(){return -1;}};
Comparable cmp= new Comparable(){public int compareTo(Object x){return 0;}};
}

上面两个匿名的内部类,in 明显是继承了InputStream, cmp明显是实现了Comparable接口。

第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

  会执行,在return前执行。
问题和答案都不是很好。什么叫return后?一个method在return后当然不可能再执行这个method的任何指令,包括finaly.如果会执行,当然在return前执行。
int a = 1;
try
{
return a;
}
finally
{
a = 2;
}
看看这个例子,你的问题和答案都不能说清楚 return的是1还是2。实际上,finally里面的a=2是被执行了,但return的却是1.

第二十九,两个对象值相同(x.equalsThumbs up == true),但却可有不同的hash code,这句话对不对?

  不对,有相同的hash code。
从应用程序的要求上是应该有相同的hashCode,但java语言上并不是一定不可以有不同的hashCode,只是没有人这样写罢了。
class XXX
{
int value;
public int hashCode()
{
return super.hashCode();
}
public boolean equals(Object x)
{
return ((XXX)x).value == value;
}
}

第九,String s = new String("xyz");创建了几个String Object?

  两个对象,一个是"xyx",一个是指向"xyx"的引用对象s。
问题和答案还不能清楚地解释jvm对string的处理机制。
String s1 = new String("xyz");
String s2 = new String("xyz");
一共创建了几个对象?2+2?
"xyz"是和s,s1,s2一样的方式被创建的吗?

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

  switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

严格地说,switch和case都必需是int类型,由于short,char,byte都可以直接转换成int而且不丢失数据,所以short char byte用在switch中也可以被编译通过。




话题树型展开
人气 标题 作者 字数 发贴时间
16497 【试试看】经典java问题,你能答出几个? prettyxx 7898 2004-12-16 14:15
13143 Re:【试试看】经典java问题,你能答出几个? limlei 4 2004-12-17 23:34
13406 Re:【试试看】经典java问题,你能答出几个? nyao8448 2 2004-12-18 01:04
12996 Re:【试试看】经典java问题,你能答出几个? mitnickcbc 23 2004-12-18 09:21
13011 Re:【试试看】经典java问题,你能答出几个? fxyfliu 6 2004-12-19 23:47
12978 Re:【试试看】经典java问题,你能答出几个? lxisp 7 2004-12-21 11:14
12902 Re:【试试看】经典java问题,你能答出几个? pentium100 95 2004-12-22 23:31
12982 Re:【试试看】经典java问题,你能答出几个? computerclass 2 2004-12-23 08:30
12844 Re:【试试看】经典java问题,你能答出几个? tool 1512 2004-12-31 07:17

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923