如何在java包中使用单个.class文件?



我想写这样的代码

package mypackage;
public class A extends B {
}

但是我所拥有的只是从单个b.c java文件编译而来的b.c class文件,没有指定包。

有谁能帮我一下吗?谢谢!我试过把B.class放在我的./srcA.java./src/mypackage和运行javac -cp src ./src/package/A.java,但它不会编译。如果我把B.classA.java放在同一个文件夹里,它也不会编译

你不能。根据您的描述,类B位于默认(未命名)包中。Java语言规则不允许默认包之外的类引用默认包中的类。

使用该类的唯一方法是将A也放在默认包中。也就是说,将它向上移动一个目录,并删除package语句。

或者,您需要拥有B类的源代码(或反编译它),将其移动到一个包中并添加一个包语句,然后重新编译。

最新更新