考慮一個包層次結構folder1/hi。 folder1包含B.java,並且hi包含A.java。包語句和.java文件的目錄之間的關係?
B.java:
package hi.a12.pkg;
public class B { }
A.java:
package a12.pkg;
public class A {B b; }
現在B.java編譯成功,但A.java沒有。
由於兩者應該在同一位置生成類文件。因此,他們應該能夠在沒有進口聲明的情況下找到彼此。
但還是說它沒有找到B類。
任何建議措施......還是怎麼回事錯..
你到底是如何編譯它們以及從哪裏編譯的? (我強烈懷疑你只是從錯誤的地方編譯它們......) –
看起來你的包名稱與你的文件夾層次結構不匹配。 'hi.a12.pkg.B'應該在'[some prefix]/hi/a12/pkg/B.java'中。我不明白爲什麼你不使用A的相同包前綴。 – hexafraction
編譯B.java後,我使用cmd命令從hi文件夾編譯A.java:javac -cp。 -d。 A.java – Ronaldo7