如何在java中编译扩展类?

如何在java中编译扩展类?,java,extends,Java,Extends,我想编译child.java类来获取child.class,child类扩展父类。 我希望child.class包含来自父类的所有必要代码,事实上我可以独立使用它 可能吗 第二个问题:假设我们有一个.jar库,其中包含a.class、b.class、c.class。。。我已经制作了一个更新版本的a.class,如何用jar中的原始a.class替换新版本?可能吗 对不起,英语不好。1评论中提到的Dmitry是不可能的。即使您的父类什么也没做,它的定义仍然会被检查,如果没有找到,ClassNotF

我想编译child.java类来获取child.class,child类扩展父类。 我希望child.class包含来自父类的所有必要代码,事实上我可以独立使用它

可能吗

第二个问题:假设我们有一个.jar库,其中包含a.class、b.class、c.class。。。我已经制作了一个更新版本的a.class,如何用jar中的原始a.class替换新版本?可能吗


对不起,英语不好。

1评论中提到的Dmitry是不可能的。即使您的父类什么也没做,它的定义仍然会被检查,如果没有找到,ClassNotFoundException或类似的将被抛出

2当然是可能的,并且在某些情况下,在不重新编译源代码的情况下修补外部库是有用的-请参阅 具体来说,最有用的IMO是CoolBeans的答案:

jar uf test.jar com\test\Test.class

请注意,您必须注意正确的包装。如果jar被签名,它将不起作用。

1基本上,您不能。只需将它们打包或声明依赖项2即可重新生成。我首先想扩展a.class并生成新的a.class并替换为旧的a.class,我怎样才能做到这一点?@arsenal这是不可能的。您可以尝试从javadoc契约和字节码重写.class,但这太疯狂了。