优先级 静态代码块 -> 构造代码块 ->构造方法
执行顺序 父类静态代码块->子类静态代码块->父类构造代码块->父类构造方法->子类构造代码块->子类构造方法
静态代码块作用 初始化静态成员变量
构造代码块作用 1、初始化非静态成员变量
2、把所有构造方法中的共性内容抽取出来,提高了代码的复用性
- public class StaticDemo {
- public static String school;
- public String name;
- public int age;
- static{
- school = "北京";
- }
- {
- name = "小强";
- age = 34;
- school = "清华";
- }
- public static void main(String[] args) {
- StaticDemo sd = new StaticDemo();
- System.out.println(sd.age);
- System.out.println(sd.name);
- System.out.println(StaticDemo.school);
- }
- }
复制代码 输出:
34
小强
清华
|
|