static可以修饰方法、变量、内部类以及代码块。
static修饰类
只有内部类才可以用static修饰,普通类不能用static修饰。特点是可以直接通过外部类型加“.”加内部类名进行访问。内部类在调用时才会加载。
static修饰方法
static修饰方法可以通过类名加“.”加方法名直接访问。调用内部方法或变量:静态方法只能调用静态方法,只能访问静态变量,不能引用this或者super。
static修饰变量
static修饰变量可以通过类名加“.”加变量名直接访问,被static修饰的变量是所有类实例共有的,且只有一份,在类加载的时候即被创建。
static修饰代码块
static修饰代码块在类加载时就会执行,且只会加载执行一次,之后不再执行。执行顺序:静态代码块--非静态代码块--构造方法。非静态代码块在每次实例化对象时都会执行一次。