NetBeans 在非公共类中运行带有 main 的 Java 程序

Posted

技术标签:

【中文标题】NetBeans 在非公共类中运行带有 main 的 Java 程序【英文标题】:NetBeans running Java program with main in non-public class 【发布时间】:2014-08-28 12:55:34 【问题描述】:

我知道有很多这样的问题,但在所有问题中,答案都是“不能在非公共类中使用 main 方法运行 Java 程序”。 (What if main method is inside "non public class" of java file?)

但是,我在 NetBeans 中尝试了这种情况,并且运行得非常好。为什么?

main 是否在公共类a 约定或严格规则中?

【问题讨论】:

this 不回答你的问题吗? 【参考方案1】:

rule 如下

方法main 必须声明为publicstaticvoid。它必须 指定一个声明类型为数组的形式参数(第 8.4.1 节) String.

但是对封闭类的可访问性没有限制。但是请注意,***类不能是privateprotected。也许这就是你产生困惑的地方。

你可以拥有

class Example 
    private static class Other 
        public static void main(String[] args) throws Exception 
            System.out.println("main in Other");
        
    

并执行

> java Example$Other

那会显示

main in Other

我不知道你为什么,但你可以

【讨论】:

以上是关于NetBeans 在非公共类中运行带有 main 的 Java 程序的主要内容,如果未能解决你的问题,请参考以下文章

带有公共数组的指针

使用netBeans从不同的类实例化一个类中的对象[重复]

使用 netbeans 和 maven 创建 JApplet

带有 PDO 的基于 PHP 类的用户系统 - 在非对象上调用成员函数 prepare()

使用 terraform 在非默认 VPC 中创建 AWS RDS 实例

THINKPHP怎么在类中做一个公共的方法,让此类中得方法在运行时都先运行这个方法!