2013-07-29 32 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"); 
}