我正在学习1z0-803 Java证书考试。我们必须找出,在此应用程序中创建了多少cell.colourIndicatorLabel.backgroundColor = UIColor(red: CGFloat(red), green: CGFloat(green), blue: CGFloat(blue), alpha: CGFloat(brightness))
个实例:
MarkList
我的一位朋友说,在这个问题中答案是两个对象。我认为它只有一个(public class MarkList {
int num;
public static void graceMarks(MarkList obj4) {
obj4.num += 10;
}
public static void main(String[] args) {
MarkList obj1 = new MarkList();
MarkList obj2 = obj1;
obj2.num = 60;
graceMarks(obj2);
}
}
),虽然我可能错了,因为我是Java新手,但有一些C#经验。
答案 0 :(得分:9)
答案是一个对象。
MarkList obj1 = new MarkList();
创建了一个新的MarkList
对象,MarkList obj2 = obj1;
只创建了对obj1
的引用,因此两者都指向完全相同的对象。
所有其他代码只是样板文件,不会创建对象。
答案 1 :(得分:7)
只创建了一个 MarkList实例。
要了解创建了多少个对象,可以使用此过程:
new MarkList(...)
)。您可以使用像eclipse这样的IDE来查找所有引用。但是创建了数千个其他实例(在我的Oracle JDK 1.8中)。
MarkList.class
已创建String[] args
已创建MarkList obj1
已创建Thread.currentThread()
)使用分析器,运行代码并计算对象。但请记住,结果将完全取决于您的JVM实现。
答案 2 :(得分:0)
忘了这个问题。如果您在线随机搜索,此考试题有错字。许多网站都提到了obj3,但它并不存在。您的朋友可能会从包含拼写错误的来源中读取。