import java.math.*;
import java.util.*;
/**
* this的本质,对象创建过程的四步
* @author 110
*
*创建一个对象分为如下四步:
*1:分配对象空间,并将对象成员变量初始化为0或空。
*2:执行属性值的显示初始化
*3:执行构造方法
*4:返回对象的地址给相关变量。具体细节请看博客之前的内存分析章节。
*/
class Textthis{
int a,b,c;
public Textthis(int a,int b) {
this.a=a;//该处a产生二义性,所以要用this说明是当前对象的a
this.b=b;
}
public Textthis(int a,int b,int c) {
this(a,b);//调用重载构造方法,必须放到第一句。
this.c=c;
}
void sing() {
}
void eat() {
this.sing();//调用本类中的sing();如果不用this
}
}
public class This {
public static void main(String[] args) {
Textthis hi = new Textthis(2,3);
}
}
/*
* this最常的用法
* 1:在程序中产生二义性之处,应使用this指明当前对象,普通方法中,this总是指向调用该方法的
* 对象,构造方法中,this总是指向正要初始化的对象。
* 2:使用this关键字调用重载的构造方法,避免相同的初始化代码,但只能在构造方法中用,并且必须位于
* 构造方法的第一句。
* 3:this不能用于static方法中。
*/