Main method is not public static
It must be somewhere under the hood. Otherwise, it wont be callable and it would require an instance of an object to call. Unless the object here is the Java environment?
No. From JEP-445:
If an unnamed class has an instance main method rather than a static main method then launching it is equivalent to the following, which employs the existing anonymous class declaration construct:
new Object() { // the unnamed class's body }.main();
No String[] args
They are just optional I'm sure, like C and C++. You still need them to read command line arguments.
Without the preview feature enabled, it is not an optional part of the method signature. It specifically looks for a main(String[])
signature.
I mentioned this uses preview features twice in the first comment regarding this, so I don't know why you're "ah ha"ing. Also you don't need to read the technical document, I've quoted the entirety of the relevant text. I provided it as a citation.
You seem confused about preview features. It's not a switchable mode to reduce boiler plate. I find the name very clear, but here is more information. From JEP-12
As an example, JDK 17 added pattern matching for switch statements as a preview, and by JDK 21 it was added as a full fledged feature that doesn't require usage of the enable preview flag. Presumably in some future release of Java this feature will not require the usage of a flag.