我有目录结构:
/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.
是否可以包含没有文件重组结构的包?
答案 0 :(得分:1)
您不能在默认包中引用类。将每个班级都放入一个包中。
答案 1 :(得分:1)
它明确地说 类文件包含错误的类名:pkg.A 这意味着您可能将类名称声明为pkg.A而不是A. 如果你像这样声明包名称是正确的
家的/ etc /研究/ JAVA /实验2 / zad1
家的/ etc /研究/ JAVA /实验2 / 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;
公共类B扩展A { '在这里输入代码' }