《Think in Java》中关于this有如下的说法,这里就做一个摘抄,个人认为关键的地方用红色标注了一下:
this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。this的用法和其他对象引用并无不同。但要注意,如果在方法内部调用同一个类的另外一个方法,就不必使用this
感觉上面的语句有些晦涩,还是看下面的几行简单的代码好了,其实这样的示例代码很多地方也有,我这也就是雷同,兴许有更好的例子,请多提意见
public class DemoTis {
private int orgPara = 16;
DemoTis(int orgPara)
{
this.orgPara = orgPara+1;
System.out.println("First parameter is :" + orgPara+ " compare with: "+ this.orgPara);
System.out.println("Do minus 1:"+(orgPara-1)+" this "+(this.orgPara+1));
}
DemoTis(String slen)
{
System.out.println("Character is : " + slen);
}
DemoTis(int orgPara,String slen)
{
this(slen);
//this(orgPara);
this.orgPara = orgPara ++;
System.out.println("int construcor: "+ orgPara + "String constructor " + (slen));
}
public DemoTis add()
{
this.orgPara++;
return this;
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
DemoTis inputone = new DemoTis(20);
DemoTis inputtwo = new DemoTis("maverickOk");
DemoTis inputthree = new DemoTis(50,"Google");
System.out.println(inputone.add().add().add().orgPara);
}
}
最后,简单的总结:
[1] this 关键字是类内部当中对自己的一个引用,可以方便类中方法访问自己的属性;
[2] 可以返回对象的自己这个类的引用,同时还可以在一个构造函数当中调用另一个构造函数
[3] this不能用在static方法中使用