Main method in a static inner class.?

If you want to start a class with java (the Java launcher: java test.MyClass) then this class must have a main method with the well known signature.

You can have a main method with the same signature anywhere you want. But don’t expect that the launcher will find it.

P.S. The name of the language is Java, not JAVA.

There is a minor detail:

You may do this:

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");
        }
    }
}

java test.Test$A

but this is non standard …

Leave a Comment