很多时候我遇到一个异常,说“默认构造函数的实现丢失”。很多时候,参数化构造函数的定义本身就可以完成所有工作。我想知道在什么条件下会发生这种情况。
如果类中不存在构造函数,则在编译时添加一个默认构造函数。
如果类中存在任何一个参数化构造函数,则在编译时不会添加默认构造函数。
因此,如果您的程序有任何包含参数的构造函数,并且没有指定默认构造函数,那么您将无法使用默认构造函数创建该类的对象。
Eg:
class A{
A(int a){}
}
A a = new A() -----> Error.
-------------------------------------------------------
class A{
A(int a){}
A(){}
}
A a = new A() -----> It will work.
-----------------------------------------------------------
class A{
}
A a = new A() -----> It will work.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)