HOWTO · Java

修復 Java 未解決的編譯錯誤

本文介紹如何修復 Java 中未解決的編譯錯誤。

Java 在三個元件上工作:JVM、JRE 和 JDK。

JVM(Java 虛擬機器)在物理上並不存在,它提供了執行位元組碼的環境。這個位元組碼也可以習慣於在另一臺機器上執行,因為它們是平臺無關的。

同樣,JRE 是執行時環境,它包含 JVM 和支援庫和 jar 以載入系統中的程式。JDK 是構建和開發企業級解決方案所需的 Java 開發工具包。

所有元件共同構成了應用程式以正確構建和執行。如果任何函式中斷,則會導致編譯時或執行時問題。

Java 語言首先將原始碼轉換為類檔案。並且執行時環境使用類檔案或位元組碼來執行實際程式。

原始碼到類檔案或機器可理解的位元組碼的轉換過程稱為編譯。編譯是應用程式執行過程的關鍵部分,需要在應用程式執行之前通過。

編譯過程涉及解決語法和語義問題、優化問題以及正確使用特徵,這是編譯器的實際工作。JVM 通過首先載入程式碼、驗證載入的更改並執行應用程式來執行應用程式,最後建立執行時環境來執行程式碼。

下面是顯示 Java 編譯問題的程式碼塊。

public class CompilationIssues {
  public static void main(String[] args) {
    MyClass myClass = new MyClass();
    System.out.println("The instance of MyClass is : " + myClass);
  }
}

CompilationIssues 類包含上述程式碼塊中的 main 方法。

該方法有一個使用 new 關鍵字建立的 MyClass 例項。該物件附加了列印流函式以列印新建立的物件的物件。

與上述程式相關的觀察結果是:

如果使用 Intellij、Eclipse 和 Netbeans 等 IDE,它將填充紅色錯誤,指出 MyClass 類不可用。

編輯器提供了各種建議來匯入類(如果存在於範圍內)。如果找不到類名,則建議在包中建立另一個同名的新類。

IDE 中的選項截圖如下。

來自編輯器的建議,以避免在 Intellij 編輯器或 IDE 中出現編譯問題

如果檔案是用記事本編寫的簡單 Java 檔案或沒有特殊的 Java 編輯器,則儲存和編譯是解決方案。

這樣,它將以下面給定的格式給出錯誤。此外,它將提供有關存在實際問題的線路的建議。只能通過錯誤定義和堆疊跟蹤來根除或解決問題。

以下是上述編譯問題錯誤的輸出。

C :\Users\IdeaProjects\Test\src\main\java\CompilationIssues.java : 3 : 9 java
    : cannot find symbol symbol : class MyClass location : class CompilationIssues

解決此類問題的方法可能是敏銳地觀察堆疊跟蹤。

人們可以清楚地觀察和理解問題並提供解決方案。如果不存在,可以通過建立類來解決上述問題。

如果顯示錯誤的類已經存在,請使用匯入語句 import org.test.MyClass 語句在包含 main 方法的類中匯入包,並在問題被填充的位置。此匯入語句將解決編譯問題。

當 Java 中定義的規則不滿足其條件時,也會發生編譯。像異常處理、無法訪問的程式碼、範圍或變數、公共-私有訪問修飾符的使用、初始化變數是一些編譯問題的例子。

最壞的情況是,可能存在不相容的 Java 版本。像 Java 11 功能一樣,並將環境 Java 變數設定為 Java 8。

應該保留適當的註釋並觀察程式編譯時出現的錯誤訊息。它將有助於快速、適當地解決問題。