首頁 > Java > java教程 > 主體

如何修復Java中的「class, interface, or enum expected」錯誤?附帶範例

WBOY
發布: 2023-09-09 08:37:07
轉載
1378 人瀏覽過

如何修复Java中的“class, interface, or enum expected”错误?附带示例

每個Java程式設計師,無論是初學者或有經驗的,編寫程式碼時都會遇到許多錯誤。一般來說,這些錯誤被歸類為執行時間錯誤和編譯時錯誤。執行時期錯誤發生在成功編譯後執行程式碼時,而編譯時錯誤發生在編譯過程。

預期的類別、介面或枚舉是在原始碼編譯期間拋出的錯誤。發生這種情況的原因有很多,其中之一就是花括號放錯了位置。在本文中,我們將探討此錯誤的原因以及修復類別、介面或枚舉預期錯誤的相應方法。

在Java中修復類別、介面或枚舉預期錯誤

編譯錯誤表示我們的程式碼不遵循Java程式語言的語法規則。編譯器產生的類別、介面或枚舉預期錯誤表示我們在程式碼中寫了一些Java編譯器不期望的內容

預期的類別、介面或枚舉錯誤的原因是:

  • 花括號問題

  • 未宣告類

  • 在類別範圍之外定義方法

  • 軟體包問題

讓我們逐一討論這些問題以及我們修復此錯誤的方法

原因1:花括號問題

如前所述,遇到class、interface或enum expected錯誤的最常見原因是多餘或放置錯誤的花括號。也許,我們經常因為這個原因而遇到這個錯誤,因為程式設計師錯過花括號是非常常見的

由於我們需要將程式碼放在類別、介面或枚舉中,所以當我們在程式碼中錯誤地添加了額外的花括號時,Java編譯器會期望一個類別、介面或枚舉

範例 1

以下範例說明如果放置大括號錯誤,我們將會得到一個錯誤。

public class Example1 {
   public static void main(String[] args) {
      int nums = 0;
      nums++; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
}
} // adding extra curly brace to generate the error
登入後複製

輸出

Example1.java:8: error: class, interface, enum, or record expected
} // adding extra curly braces to generate the error
^
1 error
登入後複製

範例 2

以下範例說明如何透過從程式碼中刪除多餘的大括號來修復類別、介面或枚舉錯誤。

public class Example2 {
   public static void main(String[] args) {
      int nums = 0;
      nums++; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
}
登入後複製

輸出

Incremented value: 1
登入後複製

原因 2:未宣告類

可能會出現這樣的情況,即某人可能忘記定義一個類,並且根本沒有將程式碼包含在類別中。在這種情況下,我們可能會遇到類別、介面或枚舉錯誤,因為根據Java的指導方針,每個程式碼區塊必須在類別內定義。因此,請確保將每個程式碼區塊都包裝在一個類別中

原因三:在類別範圍外定義方法

可能導致此錯誤的另一個原因是我們錯誤地在類別範圍之外定義了方法。

範例3

在下面的範例中,我們故意將'main()'方法放在類別外部以產生錯誤。

public class Example3 { }
// from below lines we will get error
   public static void main(String[] args) {
      int nums = 0;
      nums++; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
登入後複製

輸出

Example3.java:3: error: class, interface, enum, or record expected
   public static void main(String[] args) {
                 ^
Example3.java:5: error: class, interface, enum, or record expected
      nums++; // incrementing the value
      ^
Example3.java:6: error: class, interface, enum, or record expected
      System.out.println("Incremented value: " + nums);
      ^
Example3.java:7: error: class, interface, enum, or record expected
   }
   ^
4 errors
登入後複製

範例 4

為了修復先前的錯誤,我們只需按照範例將 'main()' 方法放在類別內部即可。

public class Example4 {
   public static void main(String[] args) {
      int nums = 5;
      nums += 1; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
}
登入後複製

輸出

Incremented value: 6
登入後複製
登入後複製

原因4:套件的問題

當一個Java程式設計師在單一原始程式碼中宣告多個套件時,我們可能會遇到這個問題。

範例 5

在這個例子中,我們將宣告兩個套件來產生錯誤。

package dummy1;
package dummy2;
public class Example5 {
   public static void main(String[] args) {
      int nums = 5;
      nums += 1; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
}
登入後複製

輸出

dummy1/Example5.java:2: error: class, interface, enum, or record expected
package dummy2;
^
1 error
登入後複製

範例 6

在此範例中,我們將刪除已定義的套件之一以修復類別、介面或枚舉預期錯誤。

package dummy1;
public class Example6 {
   public static void main(String[] args) {
      int nums = 5;
      nums += 1; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
}
登入後複製

輸出

Incremented value: 6
登入後複製
登入後複製

結論

在本文中,我們透過幾個範例程式了解了類別、介面或枚舉類型的預期錯誤。我們還發現了這個錯誤的原因以及相應的修復方法。放錯位置的花括號是最常見的原因

以上是如何修復Java中的「class, interface, or enum expected」錯誤?附帶範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板