-
static
-
this
- super
- final
static
static修饰类的属性和方法时,属于静态的属性和方法。
class Person {
public String name; //实例数据成员
public String sex;
static int age; //静态数据成员
}
public class Main {
public static void main(String[] args) {
Person person = new Person();
}
}
在内存中的分布:
实例成员(方法)是属于对象的。静态数据成员(方法)是属于类的。从而
a.要访问静态成员或方法直接可以通过类名来访问,不依赖于对象。
b.可以直接调用静态方法,而无需创建类的实例。
c.静态方法可以访问静态数据成员,并且可以更改静态数据成员的值。
d.静态方法不能直接使用非静态数据成员或调用非静态方法。
e.this和super两个关键字不能在静态上下文中使用。(this是当前实例的引用,super是当前实例父类实例的引用)
this
this关键字代表当前对象的引用。可以借助this关键字来访问对象的字段和方法。
this关键字可以在构造函数内部使用,构造函数是用来构造对象的,对象还没有构造好,就可以使用this,说明this代表当前对象的引用,而不是当前对象。
super
super表示获取到父类实例的引用。