为什么类在单独的文件中不需要实例规范?

时间:2018-03-01 18:01:09

标签: java

如果我有一个类如:

public class Main {
    public class CommandLineParser {

        public CommandLineParser(String[] args) {
        }
    }

    public static void main(String[] args) {
        Main main = new Main();
        new CommandLineParser(args); // <<< line in question    
    }
}

然后我非常合理地收到错误消息:

  

无法访问类型Main的封闭实例。必须使用Main类型的封闭实例限定分配(例如x.new A(),其中xMain的实例。

但如果我将班级CommandLineParser移到另一个档案中,就没有这样的抱怨。

为什么第二种情况没有错误?

(注意:这个问题不是如何在静态方法中实例化非静态内部类。)

0 个答案:

没有答案