【发布时间】:2014-11-03 21:24:02
【问题描述】:
我有一个类Executive,下面是该类的代码。
public class Executive
{
public Executive(int ID=0)
{
//constructor 1
this.BaseSalary = 3000;
Console.Write("DONE");
}
public Executive()
{
//constructor 2
Console.Write("done");
}
}
我主要执行以下操作:
Executive exec = new Executive()
它总是调用constructor2。为什么不调用Constructor1(ID有默认值)?
【问题讨论】:
-
这就是方法重载解析的工作原理。根据解析规则,无参数构造函数比需要默认值的构造函数“更好”。
-
在你的场景中你会如何调用构造函数#2?
标签: c# constructor overloading