1.類中的static變量在類加載時首先被初始化,且只能初始化一次.
2.所有對象共享類中的static變量.
3.在創(chuàng)建子類的對象時,先初始化父類的static變量,再初始化子類的static.
實例如下:
public class A
{
static
{
System.out.println("I'm in class A's static!");
}
public A()
{
System.out.println("I'm in class A's structure!");
}
};
public class B extends A
{
static
{
System.out.println("I'm in class B's static!");
}
public B()
{
System.out.println("I'm in class B's structure!");
}
};
public class TestStatic
{
public static void main(String[] arg)
{
A ab = new B();
B ba = new B();
}
};
輸出結(jié)果為:
I'm in class A's static!
I'm in class B's static!
I'm in class A's structure!
I'm in class B's structure!
I'm in class A's structure!
I'm in class B's structure!