static
-
定义
-
Java关键字
-
表示全局或者静态
-
静态表示被修饰的东西不可恢复
-
作用
-
用来修饰成员变量和成员方法,也可以修饰代码块
-
特性
-
固定
-
JVM加载类时,为被static修饰的成员变量和成员方法提供一个内存区域
-
固定的位置开辟固定大小的内存区域
-
用途
-
方便在没有创建对象的情况下来进行调用(方法/变量)
-
使用
-
方法
-
通过类名对其进行直接调用
-
类加载时被创建
-
静态方法不依赖于任何实例,所以static方法必须实现,不能是抽象方法
-
在static方法(静态方法)内部不能调用非静态方法,反过来可以
-
变量
-
静态变量和非静态变量区别
-
静态变量被所有对象所共享
-
静态变量当且仅当在类初次加载时被初始化,
-
在内存中仅有一个,而且jvm也只会为它分配一次内存
-
类所有实例都共享静态变量
-
static变量在定义时必须进行初始化
-
非静态变量是对象所拥有的
-
非静态变量在对象被创建时被初始化
-
代码块
-
静态代码块会随着类的加载一块执行,随意放