作者DavyBlue (失意男)
看板java
标题[问题] 几个书上习题的问题
时间Wed Jan 31 23:40:55 2007
最近在准备SCJP
不过这两个习题我想不通
(我用的书是碁峰的sun certified programmer for java5翻译本)
请各位帮我指点一下迷津@@
第一题:
给定
class CardBoard {
Short story =200;
CardBoard go(CardBoard cb) {
cb = null;
return cb;
}
public static void main(String[] args){
CardBoard c1 = new CardBoard();
CardBoard c2 = new CardBoard();
CardBoard c3 = c1.go(c2);
c1 = null;
//do something
}}
当到达//do something时 多少物件有资格被自动回收?
正解是2个
但是我怎麽看都有4个...(虽然选项只有0,1,2,编译错误,balah..)
因为go()回传null c3应该也有资格
然後引数传入go()时cb=null 应该也有资格
但是正解只说c1与story有资格 难道是我想太多?
另外 第二题:
给定
class Alien{
String invade(short ship){return "a few"}
String invade(short... ship){return "many"}
}
class Defender{
public static void main(String[] args){
System.out.println(new Alien().invade(7));
}}
结果我选 a few 但答案是编译错误
我知道如果 7 传入 long可以放宽
7 传入 short难道不能自动转型?
以上 望各位指点 m(_ _)m
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.113.77.108