Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เปลี่ยนลำดับ public static void main() เป็น static public void main() ได้ไหม?

ได้ Java อนุญาตให้สลับลำดับ Modifier ได้: static public void main() ทำงานเหมือน public static void main() ไม่มี Compile/Runtime Error

กฎระเบียบ Modifier Order

  • Method Name: ต้องอยู่ท้ายสุด (main)
  • Return Type: ต้องอยู่ก่อน Method Name (void)
  • Modifiers (public, static, final, abstract, synchronized, strictfp): เรียงลำดับไหนก็ได้
  • แต่ Best Practice: public static void main() (Access Modifier นำหน้า)

ตัวอย่างโค้ด


class ParentTest {
    int age = 10;
    public int getAge() {
        age += 25;
        return age;
    }
}

public class Test {
    // static public แทน public static - OK!
    static public void main(String args[]) {
        ParentTest pt = new ParentTest();
        System.out.println("Age is: " + pt.getAge());
    }
}

ผลลัพธ์


Age is: 35

รูปแบบที่ถูกต้องทั้งหมด


public static void main(String[] args) { }      // Standard
static public void main(String[] args) { }      // Valid
final public static void main(String[] args) { } // Valid
public final static void main(String[] args) { } // Valid

ข้อจำกัด

  • ต้องมี public (JVM ต้องเข้าถึงได้)
  • ต้องมี static (เรียกโดยไม่ต้อง new Object)
  • Return Type ต้องเป็น void
  • Parameter ต้องเป็น String[] หรือ String... args
  • Method Name ต้องเป็น main (Case-sensitive)

ข้อสังเกต

แม้จะ Valid แต่ ต้องปฏิบัติตาม Convention (public static void main) เพื่อ Readability และ Team Standard