一.对象创建的过程
对象的创建并非只是通过构造器来创建的,对象的创建一般分为一下四步。
1.为对象开辟存储空间,在存储空间之内将对象初始化为0或空。
2.执行属性值的显示初始化。
3.执行构造器。
4.将对象的地址返回给变量。
二.this的本质
this的本质就是“创建一个对象的地址”,功能是将其初始化。在构造方法创建以前,对象就已经生成,因此this也可以指代当前的对象。
三.this的功能
this的功能有四
1.通过this区分成员变量和局部变量。
2.通过this来调用构造方法的重载。在构造方法中,this指向正要初始化的对象。
3.通过this来在方法中调用其他方法。在普通方法中,this总是调用该方法的对象。
4.this不能用于static中,因为static是在方法区内的,而this是在堆中的,而static中的静态方法,静态变量,常数,字符串等无法调用堆中的值。
具体使用方法代码如下:
public class TestThis{ //定义类名TestThis
int a: //类中的field
int b;
int c;
public TestThis(int a,int b){ //构造方法的名称必须与类名相同
this.a=a; //this:用于区分局部变量和成员变量,代表对象的属性进行初始化
this.b=b; //指明要初始化的对象并指向要初始化的对象
}
public TestThis(int c){
this(a,b); //利用this进行构造方法的调用时,必须把调用的构造方法放在第一行
this.c;
}
public void sing(){
}
public void eat(){
this.sing(); //通过this调用sing()方法,并指向调用的该方法的对象
System.out.println("See you again");
}
public static void main(String[] args){
TestThis test1 = new TestThis(2,3);
test1.eat;
}