【发布时间】:2022-01-21 10:06:20
【问题描述】:
我想在 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
完成此操作后,我得到一个文件夹 alphabets,其中包含 A.class 文件
然后我使用以下代码编译 B 类:
javac B.java
问题是在编译 B 类后出现错误无法访问 A,但是 当我将 A.java( 源文件 ) 放入Alphabets 文件夹( 仅包含 A.class 文件 ) 时,它编译成功。
我的问题是为什么我首先收到错误以及当我将 A.java 文件放在字母文件夹中时它是如何解决的。
A.class 文件和A.java 文件是否需要在同一个文件夹中。所以B类可以访问它还是有其他原因。
【问题讨论】:
-
你需要有一个
-cp来编译B.java,因为它使用A并且需要知道在哪里可以找到字母。A