我正在创建一个库,我从Main类继承,它继承自Body
public class Main:Body
我将Main添加到我的使用引用中但是当我去发起一个实例时 - 我试过:
Main _main = new Main()
它强调new Main()
表示它不包含带0参数的构造函数。
我如何正确调整,以便我引用该类 - 我是否还需要包含继承的类?
答案 0 :(得分:3)
Main _main = new Main()
它强调新的Main()
表示它不包含带0个参数的构造函数。
它告诉你究竟是什么问题。 <{1}}上的公共构造函数没有零参数。
您需要执行以下操作之一:
Main
。public Main() { }
类上公开的其他构造函数:如果签名为Main
,则说public Main(object o)
其中Main _main = new Main(o)
是某个对象。 让我们看一个例子:
o
这个类有一个零参数的公共构造函数。因此,我可以通过
构建实例class Foo {
public Foo() { }
}
让我们看另一个例子:
Foo foo = new Foo();
这个类不有一个零参数的公共构造函数。因此,我可以不通过
构造实例class Bar {
public Bar(int value) { }
}
但我可以说
Bar bar = new Bar(); // this is not legal, there is no such constructor
// the compiler will yell
还有一个:
Bar bar = new Bar(42);
此类 具有零参数的公共构造函数。这样做是因为如果你不提供任何构造函数,编译器将自动提供一个公共构造函数,默认情况下为 。因此,这是合法的:
class FooBar { }