className obj[n];
并且构造函数将被调用n
次。但是当我尝试在Java中创建对象数组时,
className[] obj = new className[n];
没有调用构造函数。在搜索后,我在stackoverflow上找到了这个问题的答案,它只创建可以指向n
个对象的n
个引用,我需要再为每个引用创建对象,如下所示:obj [0] = new className();
现在我想问为什么Java会这样做?即使C++允许,但Java不允许以同样的方式创建对象数组吗?
我搜索了这个问题,但仍然没有得到确切的答案。
className obj=new className(5);
或者className obj2=new className("A");
我认为这只是为了代码可读性和减少编码量。还有其他原因吗?(抱歉我的英语不好) - user5028722className[] obj = {new className(0), new className(1), new className(2), new childClassName(3)};
的数组,以不同的方式初始化所有的数组元素。但是,如果我们想在创建后统一处理它们,将它们存储在单独的变量中可能是不合适的。 - Tagir Valeev