一、静态static内存图解
static 修饰的内容是随着类的加载而加载的,且只加载一次;存储于一块固定的内存区域(静态区),所以,可以直接被类名调用;它优先于对象存在,所以,可以被所有对象共享。
在内存中:

(来源:黑马程序员教程)
二、静态代码块
静态代码块的格式是:
public class 类名称 {
static {
}
}
特点:
当第一次用到本类时,静态代码块执行唯一的一次。
静态内容总是优先于非静态,所以静态代码块比构造方法先执行。
静态代码块的典型用途:
用来一次性地对静态成员变量进行赋值。