1. 自上而下
2. 先属性后方法(局部变量要先声明才可以用)
3. 先静态后动态(无论类有没有初始化,静态块都会在classloader执行完成后加载、分配内存,因为java规定静态属性和方法都可以直接用类名访问,如果不先将静态的加载完成,类未实例化的话没办法使用;需要注意的是,静态方法中需要执行的逻辑是不会分配内存的,需要在被调用时才分配的)
1. 自上而下
2. 先属性后方法(局部变量要先声明才可以用)
3. 先静态后动态(无论类有没有初始化,静态块都会在classloader执行完成后加载、分配内存,因为java规定静态属性和方法都可以直接用类名访问,如果不先将静态的加载完成,类未实例化的话没办法使用;需要注意的是,静态方法中需要执行的逻辑是不会分配内存的,需要在被调用时才分配的)