我想用 Java 創建一個自定義包,我們稱之為包字母表。我有兩個單獨的類,A 類和 B 類。我想在包字母表中添加 A 類并將其匯入 B 類。
這是 A 類的代碼
package alphabets;
public class A
{
public void printHello()
{
System.out.println("\n
Hello! I am from class
A\n");
}
}
這是B類的代碼
import alphabets.*;
public class B
{
public static void main(String
args[])
{
A obj = new A();
obj.printHello();
}
}
然后我在終端中使用以下內容編譯了 A 類:
javac -d 。A.class
這樣做之后,我得到一個包含A.class檔案的檔案夾字母
然后我使用以下命令編譯 B 類:javac B.java
問題是在編譯類 BI 后出現錯誤無法訪問 A,但是當我將 A.java(源檔案)放入字母檔案夾(僅包含 A.class 檔案)時,它編譯成功。
我的問題是為什么我首先遇到錯誤以及當我將 A.java 檔案放在字母檔案夾中時它是如何解決的。
A.class 檔案和 A.java 檔案需要在同一個檔案夾中嗎?所以B類可以訪問它還是有其他原因。
uj5u.com熱心網友回復:
您不應該需要將 java 檔案編譯為類檔案。只需使用像 Eclipse 這樣的 IDE 就會容易得多。
至于為什么當你把名為“A”的檔案放在“alphabets”檔案夾中時事情被修復了,那是因為你匯入了它們。java和class檔案不需要在同一個檔案夾中,因為你沒有使用集成開發環境。
uj5u.com熱心網友回復:
不,他們沒有(我剛剛編輯了之前的帖子。)我之前的意思是所有的類檔案都需要相對于彼此位于相同的位置,java 檔案也是如此,但是類和 java 檔案不需要在同一個檔案夾中。在上一行中我說相對于彼此,我的意思是,例如,如果 A.java 位于包字母表中,而 B.java 位于默認檔案夾中(如您所見),則 A.class 將需要位于字母檔案夾中,而 B.class 將需要位于“默認”檔案夾中(盡管我只想為 B.class/B.java 創建另一個包檔案夾。此外,這些包需要位于同一檔案夾中全面的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/388112.html
上一篇:用串列實體化一個類
下一篇:web安全學習筆記
