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 :(得分:6)
声明
test.split("something");
应该在可执行块(方法/构造函数/静态初始化块)中
答案 1 :(得分:0)
编写新方法并将此操作移入其中。
前:
private void splitTest() {
test.split("something");
}