首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请达人见教: Java与C++在对象数组初始化上的区别

2013-09-24 
请达人指教: Java与C++在对象数组初始化上的区别对于对象数组, Java中似乎不允许如 A s[] new A[10] ()

请达人指教: Java与C++在对象数组初始化上的区别
对于对象数组, Java中似乎不允许如 A s[] = new A[10] ();

但是C++ 中则是允许如下语句: A s[] = new A[10] (); 这时候会调用默认构造函数进行初始化。

请问这是为什么呢?
[解决办法]
没有为什么,就是这么设计的。

但是可以反证:
Java的数组是10元素是 Reference而已。


C++这么写,10个元素就是对象,如果又没有执行ctor,除非用(Replacement New),某种你都没机会调用构造函数了。


[解决办法]
java是String[] str = new String[10];这样子啊。
[解决办法]
我是说C++的10个元素一定是初始化过的。至于语法,只是个设计。。。

热点排行