我在这个星期六进行了一次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/

10-10 09:24