不可以同时使用。
通常在一个类中,使用一个参数最齐全的构造函数作为主构造函数,其他构造函数都使用this来指向它。
当一个类继承它的时候,比较好的做法是首先按照父类中每个构造函数的签名都实现一个。也是指定一个主构造函数。其他构造函数都使用this指向它。而这个主构造函数使用base指向父类的构造函数。
不能同时使用,需要分开使用
public class a
{
public a(string kk, int ll)
{
}
}
public class b:a
{
public b(string kk, int ll)
: base(kk, ll)
{ }
public b()
: this("", 0)
{ }
}
ASUSTeK Computer INC. M2V-TVM
内存 2G 主硬盘 ST380811AS <80G>
显示卡 VIA Chrome9 HC IGP
显示器 PHILIPS 107S7
类的构造函数在创建对象时被自动调用,不能像其他方法那样显示地调用构造函数,所以是无法通过this()来调用本类的构造函数的。
基类的构造函数是由派生类自动调用的,基类构造函数base()也不允许在派生类中显示使用,而只允许标注在派生类构造函数声明体之后。 派生类的构造函数默认都是自动调用基类的无参构造函数,也就是base(),如果你想让派生类自动调用基类的有参构造函数,则派生类声明体冒号后的base()就应改为相应的有参的形式,如base(name)等等。
逗号隔开?至少应该分号隔开吧。
有this()??