this()表示调用构造方法,此种调用只能用在构造方法中,即构造方法中调用构造方法this(实参)。
1、this()、this(实参)必须方法构造方法的第一行
2、在有参数构造方法中调用无参数构造方法this();在无参数的构造方法中调用有参数的构造方法this(实参)
一、如下是无参数构造方法调用有参数构造方法:
public class Constractor
{
int year;
int month;
int day; //无参数构造方法
public Constractor()
{
this(2019,1,1); } //有参数构造方法
Constractor(int year, int month, int day)
{ this.year = year;
this.month = month;
this.day = day;
} }
二、如下是有参数构造方法调用无参数构造方法:
public class Constractor
{
int year;
int month;
int day; //无参数构造方法
public Constractor()
{ } //有参数构造方法
Constractor(int year, int month, int day)
{
this(); this.year = year;
this.month = month;
this.day = day;
} }
三、this()/this(实参)必须出现在构造方法的第一行,否则报错