我在这个星期六进行了一次Java考试,我在一个网站上遇到一个问题,我认为解决方案是错误的:
在下面找到问题:
在运行时在内存中创建了多少个MarkList实例?
public class MarkList {
int num;
public static void graceMarks(MarkList objet4){
objet4.num += 10;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MarkList obj1 = new MarkList();
MarkList obj2 = obj1;
MarkList obj3 = null;
obj2.num = 60;
graceMarks(obj2);
}
}
该网站说:它在运行时创建了3个实例。
我认为它创建了一个实例。
您能说一下您的观点吗?
最佳答案
没错仅创建一个实例,但引用了3次。
实例在这里创建:
MarkList obj1 = new MarkList();
并由
obj1
引用:MarkList obj1 = new MarkList();
obj2
:MarkList obj2 = obj1;
和
objet4
graceMarks(obj2);
关于java - 有多少个实例?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33877647/