static 关键字的特点:
- 随着类的加载而加载
- 优先与对象存在
- 被类的所有对象共享
- 可以通过类名调用
static 注意事项:
- 在静态方法中是没有this关键字的,因为静态方法是随着类的加载而加载的,this关键字是随着对象的创建而存在的。总之静态是优先对象存在的。
- 静态方法中只能访问静态变量和静态方法。
- 非静态方法:成员变量可以是静态的也可以是非静态的,成员方法:能访问非静态方法也能访问静态方法。
静态变量和成员变量的区别:
静态变量也叫类变量 成员变量也叫对象变量
A:所属不同
*静态变量属于类,所以也称为为类变量
成员变量属于对象,所以也称为实例变量(对象变量)
B:内存中位置不同
静态变量存储于方法区的静态区
成员变量存储于堆内存
C:内存出现时间不同
静态变量随着类的加载而加载,随着类的消失而消失
成员变量随着对象的创建而存在,随着对象的消失而消失
D:调用不同
静态变量可以通过类名调用,也可以通过对象调用
成员变量只能通过对 象名调用