this的使用
this调用本类属性及方法
public Employee (String aName, double aSalary)
{
name = aName;
salary = aSalary;
}
参数变量会遮蔽同名的字段实例。例如:如果将参数命名为salary,salary将指示这个参数,而不是字段实例。但是,还是可以通过this.salary访问实例字段。
public Employee (String name, double salary)
{
this.name = name;
this.salary = salary;
}
this调用构造器
this也可以调用构造器。
构造器的一个语句形如this(…),这个构造器将调用同一个类的另一个构造器。
public Employee(double s)
{
this("Employee #"+nextId, s);
nextId++;
}
采用这种方式使用this关键字非常有用,这样对公共的构造器代码只需编写一次即可。
- 可以在类的构造器中使用"this(形参列表)"的方式,调用本类中重载的其他的构造器!
- 构造器中不能通过"this(形参列表)"的方式调用自身构造器
- 如果一个类中声明了n个构造器,则最多有 n – 1个构造器中使用了"this(形参列表)"
- "this(形参列表)"必须声明在类的构造器的首行
- 在类的一个构造器中,最多只能声明一个"this(形参列表)"