静态的概述

有些变量加上了静态,使用static关键字
在存储上只有非静态的成员变量,才会在堆内存的对象中,开辟空间,单独存储;静态的成员变量,统一存储在方法区的静态区,多个对象共用同一个存储空间
好处:节约了内存空间,还提升了可维护性,改动的时候只要改一个空间中的内容

静态变量的特点

1、代码上,加上static关键字
静态的,静止,不会变化,值不会随着对象的不同而有变化,相对于对象是静止的
2、加载时机:
随着类的加载而加载
类的字节码加载到方法区的同时,就在字节码的静态区给静态的变量分配好了内存空间
3、静态变量优先于对象而存在
4、可以被该类的所有对象共享



static用法使用

如果第二个对象赋值的话,会输出所附的值。
对于静态字段,无论修改哪个对象的静态字段,效果都是一样的:所有对象的静态字段都被修改了,原因是静态字段并不属于对象




5、访问方式:
既可以适用对象名来访问,也可以使用类名直接访问,推荐用类名来访问静态字段。可以把静态字段理解为描述class本身的字段
static用法使用

静态方法

有静态字段,就有静态方法。用static修饰的方法称为静态方法。

static用法使用

不能在静态的方法中,访问非静态的方法。

总结

静态不能访问非静态

相关文章: