關於java內部類載入順序的問題
前面是看到某個論壇討論的內部類載入順序的問題,連結如下:http://www.oschina.net/question/2273217_217864#tags_nav
今天看了單例模式,對內部類的載入順序產生了疑問。所以來請教大家。
我們知道,java當中,類的載入順序是:類靜態塊-類靜態屬性-類內部屬性-類構造方法。
但是當有內部類的時候會怎樣呢?我們先看一下程式碼。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
public
class
Singleton {
public
static
class
Inner{
static
{
System.out.println( "TestInner
Static!" );
}
public
final
static
Singleton testInstance = new
Singleton( 3 );
}
public
static
Singleton getInstance(){
return
Inner.testInstance; }
public
Singleton( int
i ) {
System.out.println( "Test
"
+ i + "
Construct! " );
}
//類靜態塊
static
{
System.out.println( "Test
Static" );
}
//類靜態屬性
public
|