静态内部类的构造函数和对象

时间:2013-07-29 16:05:17

标签: java

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而无需通过构造函数。我试过了,但没有反思就没有运气。我在这里缺少什么?

2 个答案:

答案 0 :(得分:6)

声明

 test.split("something");

应该在可执行块(方法/构造函数/静态初始化块)中

答案 1 :(得分:0)

编写新方法并将此操作移入其中。

前:

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