2026/10/12

JEP 512 Compact Source Files and Instance Main Methods

java 的第一個範例程式 HelloWorld 必須要這樣寫,但初學者不能理解,為什麼一定要寫 class,main method 一定要宣告 public static void,也必須要加上字串陣列參數。

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

自 JDK 21 開始,就有幾個簡化入門程式的 preview 功能 JEP,然後到了 JDK 25,正式 final 了 JEP 512。

主要的改動是,可以不寫 class,可以簡寫 main 為 instance method,也就是不需要宣告 public static void

JEP 512 核心功能

Compact Source Files

可以不寫 class

public static void main(String[] args) {
    System.out.println("Hello, world!");
}

Instance Main Methods

可以去掉 main method 的宣告

void main() {
    System.out.println("Hello, world!");
}

支援直接執行

傳統的 java 程式,必須要先編譯 javac HelloWorld.java 為 HelloWorld.class,然後才能執行 java HelloWorld

現在可以直接執行 HelloWorld.java

java HelloWorld.java

Summary

這些功能,並不是 Java 的常態。而僅只是為了讓初學者用類似 python 的腳本式語言的方式,學習並入門 Java。主要用在簡短的教學及範例程式。如果是大型正式的專案,還是不適合使用。

沒有留言:

張貼留言