作者wawi2 (@@)
看板java
標題[問題] java考題(有幾個物件生成)
時間Sun Dec 23 23:26:24 2018
class Dog {
Dog() {
try {
throw new Exception();
} catch (Exception e) { }
}
}
class Test {
public static void main(String[] args) {
Dog d1 = new Dog();
Dog d2 = new Dog();
Dog d3 = d2;
// do complex stuff
}
}
這是一個考題 問的是走到// do complext stuff時共有幾個物件被生成
參考答案是4個
但我怎麼覺得只有兩個(d1, d2)
d3應該只是reference
請問答案是正確的嗎?
如果是正確的 那多出來的兩個物件是在哪邊生成的? 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 108.5.129.170
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1545578787.A.E8B.html
1F:推 kyleJ: new execution 12/23 23:28
2F:→ kyleJ: 自動選字選錯... new Exception ()也生了一個物件 12/23 23:30
3F:→ wawi2: 那請問Dog d3 = d2;也有生一個? 12/24 03:18
4F:推 kniver999: d3跟d2是指向同一個物件,沒有生新的 12/24 06:43
5F:→ kniver999: 所以是生成兩個Dog,在建構式中各生成一個Exception 12/24 06:44
6F:→ kniver999: 共四個物件 12/24 06:45
7F:推 t52101t: 懂了 題目沒指定DOG物件 所以要把Exception也算進去.. 12/24 22:15
8F:→ peter98: 謝謝 12/24 22:45
9F:推 JustinHere: 至少 5 個啦!args 是啊!…XD 12/25 11:45
10F:推 JustinHere: 還有… Class 的實例要不要算啊?...XD 12/25 11:47
11F:→ ssccg: 這種題目很無聊,沒指定type啊 12/25 17:32
12F:推 gaexpa066454: 喔喔喔 Exception被做成物件今天才學到 12/25 18:43