1.this的使用
当get或者set方法里面的形参名和类内的属性同名时:
public void setName(String name) { name=name; }
此时相当于把setName的形参赋值给了自己,无法达到改变类里面的内容。
这时就需要用到this关键字用来表示当前类:来调用当前的属性或方法
public void setName(String name) { this.name=name; }
通常情况下都会省略this.,特殊情况下,如上面所述,我们必须显示的使用this.变量的方式表示此变量是属性,而非形参
2.this调用构造器
// 构造器 public Person(String name) { // 构造器1 this.name=name; } public Person() { // 构造器2 this("xlx"); // 调用构造器1 }
特点:
- 我们在类的构造器中,可以显式的使用this(形参列表)的方式,调用本类中指定的其他构造器
- 构造器中不能通过this(形参列表)的方式调用自己
- 如果一个类中有n个构造器,则最多有n-1个构造器中使用了this(形参列表)
- 规定:this(形参列表)必须声明在当前构造其的首行
- 构造器内部,最多只能声明一个this(形参列表),用来调用其他构造器