Ron 認(rèn)為,作為新手入門的第一個(gè)程序,這段代碼太復(fù)雜了。比如 class 聲明和強(qiáng)制性的 public 訪問修飾符是大型編程結(jié)構(gòu),它們?cè)诜庋b具有定義良好的外部組件接口的代碼單元時(shí)很有用,但在這個(gè)入門小示例中毫無意義。String [] args 參數(shù)用于將代碼與外部組件連接起來,但在這段代碼里面不會(huì)被使用。static 修飾符是 Java 類和對(duì)象模型的一部分,但在新手村出現(xiàn)也為時(shí)尚早。
允許已啟動(dòng)類的 main 方法具有 public 、 protected 或默認(rèn)(即包)訪問權(quán)限。
如果啟動(dòng)的類不包含帶 String [] 參數(shù)的 static main 方法,但包含不帶參數(shù)的 static main 方法,則調(diào)用該方法。
如果啟動(dòng)的類沒有 static main 方法,但有一個(gè)非 private 零參數(shù)構(gòu)造函數(shù)(即 public 、 protected 或包訪問)和一個(gè)非 private 實(shí)例 main 方法,然后構(gòu)造該類的一個(gè)實(shí)例。如果該類有一個(gè)帶 String [] 參數(shù)的實(shí)例 main 方法,則調(diào)用該方法;否則,不帶參數(shù)調(diào)用實(shí)例 main 方法。
如此一來便允許省略 main 方法的 String[] 參數(shù),并允許 main 方法既不是 public 也不是 static 。可以稍微簡(jiǎn)化 Hello, World! :
void main()
此外,還要引入匿名 Main 類來隱式聲明 class :
void main()
到這里 Java 的 Hello, World! 入門程序已經(jīng)到了簡(jiǎn)化,但在 Ron 眼里,該 JEP 提供的優(yōu)化只是使 Java 更易于學(xué)習(xí)的第一步,像 System.out.println 這種長(zhǎng)方法 / 函數(shù)也是需要簡(jiǎn)化的地方,不過這些問題需要在未來的 JEP 提案中逐步解決。