this关键字的两种用法
我认为,this是在java中实现复用的一个重要的东西。就我所知,这个关键字有两种用途,第一,用它可以调用同名构造方法;第二,它指代了实例对象本身。我们可以看看下列代码:
class AboutThis {
Object name;
// other fields goes here
public AboutThis() {
this(null);
}
public AboutThis(Object name) {
this.name = name;
}
// other methods goes here
}
通过这个例子可以看到this的两种基本用法。总结一下,我们不用实现很多的构造方法(constructor),而对于参数相同,意义相近的构造方法我们只需要实现一次就可以了,而参数或属性少的构造方法只需要在第一句(在这种情况下,this只能被用在第一个被执行的逻辑句中,形如this(field=value)这种形式都不会被通过编译)调用参数可以委托的构造方法即可。这也是复用性的一个很好的体现。第二个用法就是这个例子中的第二个构造方法中体现的,就是我们不用担心我们的参数的变量名和属性的变量名相一致,我们可以通过加入this标识来区别,并对它进行形如例子的方法对它进行初始化。