本帖最后由 ReFly 于 2013-11-19 11:43 编辑
糊涂呀。构造函数是创建对象时,JVM调用的。只受权限修饰符影响。
你在主函数还可以这样创建内部类对象呢:
Outer.Inner in= new Outer.Inner();
构造函数是特殊的函数,如果构造函数为私有函数,则不能直接实例化对象。
对象 都可以通过 new +类构造函数 新建出来,只要构造函数权限足够,存在相应参数的构造函数。
你第二个问题中的new Inner();
new Inner(); 是一个匿名对象,表示新建了一个对象,但没有名字。
构造函数必须new 对象的时候被自动调用,直接写当然是错的。
你有看到过平时写对象的时候写成 Student();这样的吗? 不都是Student s= new Student();
新建对象,必须new
|