3. class Dozens {
4. int[] dz = {1,2,3,4,5,6,7,8,9,10,11,12};
5. }
6. public class Eggs {
7. public static void main(String[] args) {
8. Dozens [] da = new Dozens[3];
9. da[0] = new Dozens();
10. Dozens d = new Dozens();
11. da[1] = d;
12. d = null;
13. da[1] = null;
14. // do stuff
15. }
16. }
I have this code from scjp book,which asks how many objects are created and answer was 5 objects ,but i was only able to figure out 4 objects
1st object -line 4
2nd object-line 8
3rd object -line 9
4th object -line 10
,can any one explain where and how 5th object is being created?
任何人都可以解释第五个对象的创建地点和方式吗?任何人都可以解释第五个对象的创建地点和方式吗?任何人都可以解释第五个对象的创建地点和方式吗?任何人都可以解释第五个对象的位置和方式正在创建对象?任何人都可以解释第5个对象的创建位置和方式吗?
答案 0 :(得分:2)
对于每个Dozen类,您创建两个对象:
您可以创建2个Dozen
个对象和一个数组da
。
所以最后,我们有:
2*Dozen+ 3*Array = 5 Objects.
如果dz
是静态的,那么所有十几个实例都会共享相同的对象引用,但在这里他们不会。
更新: 对象在以下位置创建:
我希望它有所帮助:)