2013-07-29 48 views
0
public class SomeClass { 
    //Some code 
    private static InnerClass { 
    String test; 
    private InnerClass(String test) { 
     this.test = test; 
    } 

    // Using test here in some way 
    test.split("something"); //Compiler error, test might not have been initialized 
} 

爲什麼編譯器會抱怨?我正在初始化構造函數中的test。如果編譯器正在抱怨,那意味着可能有一種方法可以在不通過構造函數的情況下訪問test。我嘗試過,但沒有反思就沒有運氣。我在這裏錯過了什麼?構造函數和靜態內部類的對象

+0

這是您的完整的代碼?或者你只選擇了它的一部分? – Laf

回答

6

聲明

test.split("something"); 

應該是可執行的程序塊(方法/構造函數/靜動初始化塊)

0

寫新的方法和移動這個運營了進去。

例如:

private void splitTest() { 
test.split("something"); 
}