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);
}
}
和相应的 Pair 类:
public class Pair {
public final int a;
public final int b;
public Pair(int a, int b) {
this.a = a;
this.b = b;
}
}
如果从与两个 java 文件相同的目录中调用 javac,则不应在顶部声明包,因为它们位于“默认包”中。因此,上述内容应该有效。
使用默认包提供了一些便利,但也有一些限制,我不会详细说明,但是现在您已经了解了默认包,您可以查找它。我建议使用包名称,这就像添加一样简单,就像你所做的那样,像这样:
package kugathasan;
在每个文件的开头。如果你这样做,你应该把这两个文件放在一个名为kugathasan的目录中,并从包含kugathasan的目录中调用javac。