的Java是由一些基本的約定,包括目錄結構如下驅動封裝結構,和java文件被他們定義的類命名。
你應該定義的fileA爲一類fileA.java內,像這樣:
public class fileA {
public static void main(String[] args) {
Pair p = new Pair(0, 1);
System.out.println("a is "+p.a+" and b is "+p.b);
}
}
和一對相應等級:
public class Pair {
public final int a;
public final int b;
public Pair(int a, int b) {
this.a = a;
this.b = b;
}
}
如果從同一個目錄中調用javac的作爲兩個java文件,你不應該在頂部聲明一個包,因爲它們在'默認包'內。因此,上述應該工作。
使用默認包提供了一些便利,但也有一些我不想詳細說明的限制,但是現在您已經瞭解了默認包,您可以查看它。我推薦使用軟件包名稱,就像添加一樣簡單,就像你所做的那樣:
package kugathasan;
在每個文件的開頭。如果你這樣做,你應該把這兩個文件放在一個名爲kugathasan的目錄中,並從包含kugathasan的目錄調用javac。
在此處附加包結構 –
瞭解java如何打包和導入工作。這有你的問題的解決方案。 – RaviH
如果您正在編譯fileA,則應該使用命令'javac fileA.java'完成,即使用.java擴展名。而運行它使用java fileA沒有任何擴展名。 – technocrat