因为每个类都有一个无参数的默认构造函数
比如
class C{}
则C c=new C();是可以执行的
因为其中有个默认的无参数构造函数
但是如果是下面的情况则不能这样用
比如
class C{
public C(int i){}
}
这样C c=new C();是错误的,因为已经有了构造函数,则不能再使用默认构造函数了..所谓默认构造函数,就是在默认状态下(无构造函数)可以被使用的.
当然你也可以如果在上面的情况下,你可以写出无参构造函数.(当然这就不是默认构造函数了)
class C{
public C(){}
public C(int i){}
}