如果我有这样的话:
public class Outer {
private class Inner {
public void someMethod() {}
}
Inner in = new Inner();
in.someMethod(); //What??
}
为什么最后一行代码不起作用?
答案 0 :(得分:4)
为什么最后一行代码无效?
因为它必须包含在一个区块内(initializer,constructor,method)。
例如(构造函数中的包装器):
public class Outer {
private class Inner {
public void someMethod() {}
}
public Outer() {
Inner in = new Inner();
in.someMethod();
}
}
答案 1 :(得分:0)
你不能直接从类体调用任何方法。它必须是方法或构造函数或initilizer块