内部私人阶级和公共方法

时间:2015-10-09 14:41:41

标签: java

如果我有这样的话:

public class Outer {

    private class Inner {
        public void someMethod() {}
    }

    Inner in = new Inner();
    in.someMethod(); //What??
}

为什么最后一行代码不起作用?

2 个答案:

答案 0 :(得分:4)

  

为什么最后一行代码无效?

因为它必须包含在一个区块内(initializerconstructormethod)。

例如(构造函数中的包装器):

public class Outer {

    private class Inner {
        public void someMethod() {}
    }

    public Outer() {
        Inner in = new Inner();
        in.someMethod();
    }

}

答案 1 :(得分:0)

你不能直接从类体调用任何方法。它必须是方法或构造函数或initilizer块