2 y651529614 y651529614 于 2016.02.24 00:22 提问

JAVA新人 构造器 private 创建 对象

图片说明
既然构造器是private的,为什么A语句有效?不是不能直接创建对象吗?
刚刚学JAVA,不懂。

6个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.02.24 17:47
已采纳

首先,你的构造器私有的话,那么这个对象的创建只能在这个类的某个方法中,似有方法只有本类的方法才能调用。
其次,你的A语句仅仅是声明了一个Connection类型的数组,并没有对这个数组的每个元素创建Connection实例对象。它就是一个数组声明语句而已,并没有涉及到对象的创建问题。

xionglangs
xionglangs   Rxr 2016.02.24 11:16

你这个 static Connection[]类并不是直接new Connection,只是创建了一个静态数组,并没有创建Connection对象,也就是没用到private Connection(){}方法,它用的是new 数组的方法,new 数组的方法并不是私有的方法,当然可以new了。

y651529614
y651529614 谢谢指导
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.02.24 06:55

这个是调用数组的构造函数,不是Connection的构造函数。数组的构造函数,不需要括号。

y651529614
y651529614 谢谢指导
接近 2 年之前 回复
wtjrenranwtj
wtjrenranwtj   2016.02.24 10:13

new Connection[3],意思是说创建能装3个Connection引用对象的容器,而不是Connection对象本身。就像new List()也是可以的。

y651529614
y651529614 谢谢指导
接近 2 年之前 回复
luochoudan
luochoudan   Ds   Rxr 2016.02.25 09:33

构造的是数组哇,不是Connection对象哇,骚年。

hyb1996
hyb1996   2016.02.24 00:55

这个不是构造,是数组,()才是构造函数

y651529614
y651529614 谢谢指导
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!