一、this关键字
1.对象创建的过程
java中使用new关键字调用构造器,构造器返回该类的对象,但这个对象并不是完全由构造器负责创建。创建一个对象需要如下四步:
(1)系统为对象分配空间,并将对象成员变量初始化为空或0;
(2)执行属性值的显式初始化;
(3)执行构造方法,将实参传给对象的成员变量进行赋值;
(4)返回对象的地址给相关变量。
2.this的本质
this的本质是:创建好的对象的地址。
由于在构造方法调用前对象已经创建好了,因此,在构造方法中也可以使用this代表当前对象。
3.this在类中的使用
使用注意事项
- 在程序产生二义性时建议使用this来进行区分和调用;在普通方法中,this总是指向调用该方法的对象;构造方法中,this总是指向正要初始化的对象。
- 使用 this 关键字调用重载的构造方法,避免相同的初始化代码。但只能在构造方法中用,并且必须位于构造方法的第一句。
- this 不能用于 static 方法中。
用法 - 语法格式:
this.属性;
this.方法(实参列表);
样例代码:
运行结果;
二、static关键字
1.static关键字的特点
在类中,用static声明的成员变量为静态成员变量,也称类变量。静态成员变量的生命周期与其所在的类的生命周期相同。它具有如下特点:
- 为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化。
- 对于该类的所有对象来说,static 成员变量只有一份。被该类的所有对象共享!!
- 一般用==“类名.类属性/方法”==来调用。(也可以通过对象引用或类名(不需要实例化)访问静态成员。)
- 在 static方法中不可直接访问非static的成员。
2.static关键字的使用
== 1.语法格式==
类名.静态变量;
类名.静态方法(实参列表);
在类的成员方法间,可以直接调用静态变量和静态方法,而不需要通过对象来调用。
样例代码
运行结果