Java & 设置类路径 & 包的本地化

Java & setting classpath & localization of packages

我有目录结构:

/home/etc./studies/JAVA/pack/Print.java
/home/etc./studies/JAVA/Lab2/zad1/pkg/A.java
/home/etc./studies/JAVA/Lab2/zad1/B.java

当我尝试编译 B.java 时,出现错误:

B.java:4: error: cannot access A
public class B extends A{
                       ^
bad class file: /home/etc./studies/java/A.class
class file contains wrong class: pkg.A
Please remove or make sure it appears in the correct subdirectory of 
the classpath.

是否可以在不重组文件结构的情况下包含该包?

您不能在默认包中引用 类。将每个 class 放入一个包中。

明确表示:

class 文件包含错误的 class 名称:pkg.A

这意味着您可能将 class 名称声明为 pkg。一个代替A。 如果你像这样声明包名是正确的

home/etc/studies/JAVA/Lab2/zad1

home/etc/studies/JAVA/Lab2/zad1/pkg,

/home/etc/studies/JAVA/Lab2/zad1/B.java

不会出现编译错误。

package home.etc.studies.JAVA.Lab2.zad1;

import home.etc.studies.JAVA.Lab2.zad1.pkg.A;

public class B extends A {
     'enter code here`
}