您現(xiàn)在所在的位置:首頁(yè) >關(guān)于奇酷 > 行業(yè)動(dòng)態(tài) > JAVA新提案:努力簡(jiǎn)化Hello World寫法

JAVA新提案:努力簡(jiǎn)化Hello World寫法

來(lái)源:奇酷教育 發(fā)表于:

JAVA新提案:努力簡(jiǎn)化Hello World寫法

  OpenJDK 的 JEP 445 提案正在努力簡(jiǎn)化 Java 的入門難度。



  這個(gè)提案主要是引入 “靈活的 Main 方法和匿名 Main 類” ,希望 Java 的學(xué)習(xí)過(guò)程能更平滑,讓學(xué)生和初學(xué)者能更好地接受 Java 。
 
  
 
  提案的作者 Ron Pressler 解釋:現(xiàn)在的 Java 語(yǔ)言非常適合開(kāi)發(fā)和維護(hù)大型復(fù)雜應(yīng)用程序,但學(xué)校在教編程時(shí)往往會(huì)從變量、函數(shù)和子程序等基本的小型編程概念開(kāi)始,在這個(gè)階段,往往不需要類、包和模塊的大型編程概念。但現(xiàn)在的 Java 對(duì)初學(xué)者不太友好,比如經(jīng)典的 Hello, World! 入門程序 :
 
      public static void main(String[] args) { 
 
          System.out.println("Hello, World!");
 
      }
 
  }
 
  Ron 認(rèn)為,作為新手入門的第一個(gè)程序,這段代碼太復(fù)雜了。比如 class 聲明和強(qiáng)制性的 public 訪問(wèn)修飾符是大型編程結(jié)構(gòu),它們?cè)诜庋b具有定義良好的外部組件接口的代碼單元時(shí)很有用,但在這個(gè)入門小示例中毫無(wú)意義。String [] args 參數(shù)用于將代碼與外部組件連接起來(lái),但在這段代碼里面不會(huì)被使用。static 修飾符是 Java 類和對(duì)象模型的一部分,但在新手村出現(xiàn)也為時(shí)尚早。
 
  
 
  作為優(yōu)化,該提案首先增強(qiáng)了啟動(dòng) Java 程序的協(xié)議靈活性:
 
  允許已啟動(dòng)類的 main 方法具有 public 、 protected 或默認(rèn)(即包)訪問(wèn)權(quán)限。
 
  如果啟動(dòng)的類不包含帶 String [] 參數(shù)的 static main 方法,但包含不帶參數(shù)的 static main 方法,則調(diào)用該方法。
 
  如果啟動(dòng)的類沒(méi)有 static main 方法,但有一個(gè)非 private 零參數(shù)構(gòu)造函數(shù)(即 public 、 protected 或包訪問(wèn))和一個(gè)非 private 實(shí)例 main 方法,然后構(gòu)造該類的一個(gè)實(shí)例。如果該類有一個(gè)帶 String [] 參數(shù)的實(shí)例 main 方法,則調(diào)用該方法;否則,不帶參數(shù)調(diào)用實(shí)例 main 方法。
 
  如此一來(lái)便允許省略 main 方法的 String[] 參數(shù),并允許 main 方法既不是 public 也不是 static 。可以稍微簡(jiǎn)化 Hello, World! :
 
  void main()
 
  此外,還要引入匿名 Main 類來(lái)隱式聲明 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)化的地方,不過(guò)這些問(wèn)題需要在未來(lái)的 JEP 提案中逐步解決。
 
  該優(yōu)化屬于預(yù)覽語(yǔ)言功能,默認(rèn)禁用。要在 JDK 21 中嘗試該示例,必須啟用預(yù)覽功能:用 javac --release 21 --enable-preview Main.java 編譯程序,用 java --enable-preview Main 運(yùn)行;或者使用源代碼啟動(dòng)器時(shí),使用 java --source 21 --enable-preview Main.java 運(yùn)行程序。
 
  有關(guān)靈活的啟動(dòng)協(xié)議和匿名 main 類的更多信息,可以在提案正文中詳閱(https://openjdk.org/jeps/445)。
 
  提案目標(biāo)
 
  為 Java 提供平滑的入口,方便教育工作者可以循序漸進(jìn)地介紹編程的概念。
 
  幫助學(xué)生以簡(jiǎn)潔的方式編寫基本入門程序,并隨著其 Java 技能增長(zhǎng),優(yōu)雅地?cái)U(kuò)展代碼。
 
  減少編寫簡(jiǎn)單程序(例如腳本和命令行實(shí)用程序)的儀式。
 
  不要單獨(dú)介紹 Java 的初學(xué)者方言。
 
  不引入單獨(dú)的初學(xué)者工具鏈;編譯和運(yùn)行學(xué)生的程序,使用的工具應(yīng)該和生產(chǎn)環(huán)境的 Java 程序相同。
主站蜘蛛池模板: 色狠狠久久综合网| 亚洲国产综合精品中文字幕| 色综合久久久久| 国产成+人+综合+亚洲专| 亚洲成A人V欧美综合天堂麻豆| 亚洲综合一区二区国产精品| 亚洲国产精品综合久久一线| 91精品国产综合久久四虎久久无码一级 | 狠狠色丁香久久婷婷综合五月| 亚洲综合伊人久久大杳蕉| 欧美大战日韩91综合一区婷婷久久青草| 婷婷综合缴情亚洲狠狠尤物| 伊人久久综合成人网| 亚洲综合无码AV一区二区| 亚洲精品第一国产综合境外资源| 国产成+人+综合+欧美亚洲| 亚洲欧美日韩综合aⅴ视频| 色五月丁香六月欧美综合图片| 亚洲国产日韩成人综合天堂| 亚洲综合久久夜AV | 久久综合亚洲欧美成人| 国产天堂一区二区综合| 亚洲国产综合精品中文第一| 99久久婷婷国产综合亚洲| 久久精品国产亚洲综合色| 久久久久久综合一区中文字幕| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 伊伊人成亚洲综合人网7777| 久久99国产综合精品女同| 亚洲国产综合精品一区在线播放| 欧美韩国精品另类综合| 激情综合婷婷色五月蜜桃| 亚洲 欧美 日韩 综合aⅴ视频| 久久婷婷五月综合国产尤物app| 久久乐国产精品亚洲综合| 天天综合网网欲色| 狠狠色噜噜狠狠狠狠色综合久AV| 欧美亚洲综合色在| 综合网日日天干夜夜久久| 欧美伊人久久大香线蕉综合69| 综合久久精品色|