多少对象将这段代码产生的呢?
class Main {
int num;
public static void gacemarks(Main m)
{
m.num += 10;
}
public static void main(String[] args) {
Main m1 = new Main();
Main m2 = m1;
Main m3 = new Main();
m2.num = 60;
gacemarks(m2);
System.out.println(m2);
}
}
答案是2,但我得到了3 M1将被创建,M2是指新创建同一个对象M3和调用后,产生m个对象。
在你的代码的情况下,只有两个我看到正在明确创建的对象是其中的线条new
出现操作:
Main m1 = new Main();
Main m3 = new Main();
下面是其中的每一行内发生故障:
Main m1 = new Main(); // create new Main object 'm1'
Main m2 = m1; // assign 'm2' to reference 'm1' (no new object)
Main m3 = new Main(); // create new Main object 'm3'
m2.num = 60; // assign a field in 'm2' (no new object)
gacemarks(m2); // repeatedly increment the 'm2.num' field (no new object)
System.out.println(m2); // print 'm2' (no new object)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句