1

我正在创建一个库,并且我从继承自 Body 的类 Main 引用

public class Main:Body

我将 Main 添加到我的使用引用中,但是当我去启动一个实例时 - 我尝试了:

Main _main = new Main()它强调new Main()说它不包含带 0 个参数的构造函数。

我怎样才能正确调整它,以便我引用该类 - 我是否也需要包含继承的类?

4

1 回答 1

3

Main _main = new Main()它强调 newMain()说它不包含带 0 个参数的构造函数。

它准确地告诉你问题是什么。没有一个公共构造函数Main接受零参数。

您需要执行以下操作之一:

  1. 添加一个接受零参数的公共构造函数:public Main() { }.
  2. 调用一个在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 { }

这个类确实有一个零参数的公共构造函数。这样做是因为如果您提供任何构造函数,编译器将默认自动提供一个带有零参数的公共构造函数。因此,这是合法的:

FooBar fooBar = new FooBar();
于 2013-07-25T15:06:11.120 回答