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
- A 是包 "pkg"
中的一个 class
- Print 是一个 class in package "pack"
- B 导入包 "pkg" 和 "pack".
当我尝试编译 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`
}
我有目录结构:
/home/etc./studies/JAVA/pack/Print.java
/home/etc./studies/JAVA/Lab2/zad1/pkg/A.java
/home/etc./studies/JAVA/Lab2/zad1/B.java
- A 是包 "pkg" 中的一个 class
- Print 是一个 class in package "pack"
- B 导入包 "pkg" 和 "pack".
当我尝试编译 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`
}