static
概念 :static被称为静态,可以用来修饰类的属性,方法,代码块,内部类。
随着类的加载而加载
优先于对象存在
修饰的成员,被所有对象所共享
可不创建对象,直接被类调用
static修饰的属性被存放于jvm的元空间中每次创建的对象调用不会直接复制到栈中而是调用时才会从元空间调用到栈中.
static方法可以使用对象调用,也可以直接用类名调用,建议用类名直接调用
在static方法内部只能访问类的static属性,不能访问类的非static属性,static属性先加载。
代码块
普通代码块
{
}
静态代码块
static {
}
加载顺序
静态代码块有限加载 ,接下来才是普通代码块
普通代码块:每次创建对象时自动调用
静态块:类加载时自动调用,仅一次,与是否创建对象无关。