如何修復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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

在使用IntelliJIDEAUltimate版本啟動Spring...

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

Java對象與數組的轉換:深入探討強制類型轉換的風險與正確方法很多Java初學者會遇到將一個對象轉換成數組的�...

Redis緩存方案如何實現產品排行榜列表的需求?在開發過程中,我們常常需要處理排行榜的需求,例如展示一個�...

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...
