调用其他构造器
构造器不认为是一种函数,因为他没有返回值
构造器认为没有返回值而不是没有名字,是因为构造器中不能使用return返回值。
而且调用的使用用的名字确实就是命名的名字。
而且不能像方法一样随意调用,包括在构造器内。
如果需要在构造器中调用其他构造器,需要使用特殊的语法。
class 小兵
{
public int hp;
public int atk;
public int def;
public 小兵(int atk, int def)
{
this.atk = atk;
this.def = def;
hp = atk + def;
}
public 小兵(int hp, int atk, int def) : this(atk, def)
{
this.hp = hp;
}
}
在参数后加冒号,使用this代替构造器的名字,并加上括号和参数来调用。
在执行时,会先执行被调用的构造器的所有内容,然后才轮到自己。
并且,被调用的构造器的参数,必须是自己的参数,或者一条语句能完成的表达式,
在函数体内构造出来的变量不能作为被调用构造器的参数。