静态内部类中的主要方法.

Raj*_*jat 12 java

我已经了解到Java文件中唯一的公共类也必须具有main方法.但是,在下面你可以看到内部类中的main方法而不是?关于源文件中主要方法定义的规则是什么?

public class TestBed {
    public TestBed() {
        System.out.println("Test bed c'tor");
    }

    @SuppressWarnings("unused")
    private static class Tester {
        public static void main(String[] args) {
            TestBed tb = new TestBed();
            tb.f();
        }
    }

    void f() {
        System.out.println("TestBed::f()");
    }
}
Run Code Online (Sandbox Code Playgroud)

Pet*_*Mmm 6

如果你想用java(Java启动器:java test.MyClass)启动一个类,那么这个类必须有一个带有众所周知签名的main方法.

您可以在任何地方使用具有相同签名的main方法.但是不要指望发射器会找到它.

PS语言的名称是Java,而不是JAVA.

有一个小细节:

你可以这样做:

package test;

public class Test {

    /**
     * @param args the command line arguments
     */
    static public class A {

        public static void main(String[] args) {
            System.err.println("hi");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java test.Test $ A.

但这是非标准的......