static: 静态的
可以修饰成员变量以及成员方法
被static修饰的成员, 表示该成员是类所有, 该类的所有对象共享
static关键字特点
a. 随着类的加载而加载
b. 优先于对象存在
c. 被类的所有对象共享
这也是我们判断是否使用静态关键字的条件
d. 可以通过类名调用(推荐使用类名调用)
static关键字注意事项
在静态方法中是没有this关键字的
静态方法只能访问静态的成员变量和静态的成员方法
静态变量和成员变量的区别:
a. 所属不同
静态变量:类所有
成员变量:对象所有
b. 内存中位置不同
静态变量:方法区的静态区
成员变量:堆
c. 声明周期不同:
静态变量:随着类的加载而开始,随着类的消亡而消亡
成员变量:随着对象创建而开始,随着对象的消亡而消亡
d. 调用方式
静态变量可以通过类名调用,也可以通过对象调用(最好使用类名调用)
成员变量只能通过对象名调用