java-代码块使用细节2
源码
package com.test;
public class CodeBlock02 {
public static void main(String[] args) {
A a = new A();
//(1)getN1被调用… (2)A 静态代码块01
//(3)getN2被调用…(4)A 普通代码块。。。
//(5)A() 构造器被调用
}
}
class A{
public int n2 = getN2();//普通属性的初始化
{//普通代码块
System.out.println(“A 普通代码块。。。”);
}
//静态属性的初始化
private static int n1 = getN1();static {//静态代码块System.out.println("A 静态代码块01");
}
public static int getN1(){System.out.println("getN1被调用..");return 100;
}
public int getN2(){//普通方法/非静态方法System.out.println("getN2被调用..");return 200;
}
//无参构造器 构造器的优先级是最低的
public A(){System.out.println("A() 构造器被调用");
}
}