作者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/cn.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