1.static
1)修饰变量:静态变量随着类加载时被完成初始化,内存中只有一个,且JVM也只会为它分配一次内存,所有类共享静态变量。
2)修饰方法:在类加载的时候就存在,不依赖任何实例;static方法必须实现,不能用abstract修饰。
3)修饰代码块:在类加载完之后就会执行代码块中的内容。
4)执行顺序:父类静态代码块->子类静态代码块->父类非静态代码块->父类构造方法->子类非静态代码块->子类非静态方法->子类构造方法。请看如下代码:
class A{
public A(){
System.out.println("A的构造方法");
}
private static A a = new A()