修復 Java 未解決的編譯錯誤

Rashmi Patidar 2024年2月15日
修復 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。

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

作者: Rashmi Patidar
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

相關文章 - Java Error