首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 檔案名與類別名不符導致編譯錯誤:public class 必須與 .java 檔案名相同

     編輯:程式設計綜合問答

錯誤現象

檔案名 MoMo.java,類別宣告 class Car → 編譯錯誤:class Car is public, should be declared in a file named Car.java。

規則說明

  • 每個 .java 檔案**最多一個** public class。
  • public class 名稱**必須**與檔案名完全相同(含大小寫)。
  • 非 public 類別可多個,檔案名以 public 類別為準。

修正範例


// MoMo.java
public class MoMo { // 檔案名 = 類別名
    // 內部類別可包含 Car
    class Car {
        String brand;
        int price;
    }
    public static void main(String[] args) {
        MoMo m = new MoMo();
        MoMo.Car c = m.new Car();
        c.brand = "Toyota";
        System.out.println(c.brand);
    }
}

其他常見新手錯誤

  • 屬性未初始化:String brand; 預設 null,列印會顯示 null。
  • 建構子未定義:若需帶參數建立,請顯式撰寫建構子。

總結

Java 強制 public class 與檔案名同名。將 Car 設為內部類別或獨立 Car.java,並初始化屬性、補全建構子,即可通過編譯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved