阅读了Java编程思想中关于this关键字的解读,整理记录下。
首先,在类自身内部调用自己类的方法,通常不需要加上 this.method(),因为编译器会帮你自动加上,不应该自己再去重复加。
以下例举了几种需要用this的情况:
1.构造函数中调用另一个构造函数,此时只能用this来调用,不能直接写类名来调用。
public class Flower {
int petallCount = 0;
String s = "intial value";
Flower(int petals)
{
petallCount = petals;
}
Flower(String ss)
{
s = ss;
}
Flower(String s , int pertals)
{
this(pertals);
//Flower(s); 不能直接写类名调用
this.s = s;
}
}
2.方法入参变量名与全局变量名重复时,用this引用来表明哪个时全局变量。如上面代码中的this.s = s;
3.将自身类的引用作为入参传递给其他方法时。如下面的类Apple中将自己的类引用传递给peel方法。
class Peeler
{
static Apple peel(Apple apple)
{
return apple;
}
}
class Apple
{
Apple getPeeled()
{
return Peeler.peel(this);
}
}