Static initialization block在類別載入時會執行該區塊中的程式碼, 而且整個程式的執行過程中只會執行一次.
Initializer block則是在每個物件被建立時執行該區塊中的程式碼, 接著才執行contructor中的程式碼.
class ClassA {
// static initialization block
static {
System.out.println("This is static initialization blocks");
}
// initializer block
{
System.out.println("This is initializer block");
}
public ClassA()
{
System.out.println("Constructor A");
}
public void print()
{
System.out.println("I am A");
}
public static void staticPrint()
{
System.out.println("Static print");
}
}
public class Test01 {
public static void main(String[] args) {
System.out.println("Start testing...");
ClassA.staticPrint();
ClassA a = new ClassA();
a.print();
}
}
沒有留言:
張貼留言