this关键字
对象创建的过程和 this 的本质
构造方法是创建 Java 对象的重要途径,通过 new 关键字调用构造器时,构造器也确实
返回该类的对象,但这个对象并不是完全由构造器负责创建。创建一个对象分为如下四步:
- 分配对象空间,并将对象成员变量初始化为 0 或空
- 执行属性值的显式初始化
- 执行构造方法
- 返回对象的地址给相关的变量
this 的本质就是“创建好的对象的地址”! 由于在构造方法调用前,对象已经创建。
因此,在构造方法中也可以使用 this 代表“当前对象”。
this 最常的用法:
- 在程序中产生二义性之处,应使用 this 来指明当前对象;普通方法中,this 总是指向调用该方法的对象。构造方法中,this 总是指向正要初始化的对象。
- 使用 this 关键字调用重载的构造方法,避免相同的初始化代码。但只能在构造方法中用,并且必须位于构造方法的第一句。
- this 不能用于 static 方法中。
this生成快捷键:
Alt + Ins ,选择Constructor,然后选择需要的属性。
this 关键字的使用
public class User { int id; //id String name; //账户名 String pwd; //密码 public User() { } public User(int id, String name) { System.out.println("正在初始化已经创建好的对象:"+this); this.id = id; //不写this,无法区分局部变量id和成员变量id this.name = name; } public void login(){ System. |