Najnovšia verzia Javy prináša drobnú novinku. Je ňou možnosť definovania zjednodušenej metódy main. Túto novinku nájdeme v dokumente JEP 445 pod názvom Unnamed Classes and Instance Main Methods. Nová syntax je zatiaľ dostupná ako preview v poslednej verzii Java 21.
V budúcnosti si tak budeme môcť zadefinovať metódu main v drobných programoch ďalšími štyrmi spôsobmi, pričom nie je potrebné explicitne zadefinovať názov triedy:
static void main(String[] args) static void main() void main(String[] args) void main()
Malý program sa tým výrazne zjednoduší.
void main() {
String name = "Lucia";
System.out.printf("Hello %s", name);
}
Tento jednoduchý program môžme spustiť nasledujúcim príkazom:
$ java --enable-preview --source 21 Simple.java
Túto novú syntax bude však možné využiť len v naozaj drobných programoch. Nie je možné napríklad použiť package. Nie je zatiaľ tiež jasné, či budú môcť byť použité externé knižnice. Dokumentácia jasne uvádza, že táto syntax je určená ako pomôcka pre výučbu jazyka, nie na reálne programy.
Jazyk Java vynucuje používanie funkcií len v rámci tried. Zároveň metóda main musí byť (z neznámeho dôvodu) statická. Túto „vymoženosť“ Javy skopíroval aj jazyk C#. Vo verzii C# 9 čiastočne napravil zavedením tzv. top-level statements.
Java verzia metódy main public static void main je často kritizovaná a je vďačným predmetom vtipov.