用旧的包覆盖新包

时间:2014-03-18 23:03:54

标签: java

考虑具有嵌入式X impl / jar文件的java应用程序,例如com.test包。
我们无法更改和修改jar文件 现在假设我有一个X1.jar文件,它是现有X(com.test)包的修改版本。


问题:
是否可以在加载库之前覆盖嵌入(存在)实现的X1.jar实现?再说一遍,假设我们无论如何也无法改变包装 我希望将com.test包下的所有类型重定向到新的类型 提前谢谢。

1 个答案:

答案 0 :(得分:0)

根据m0skit0的建议:

原始类:

package example.x
public class SomeClass
{
    public SomeClass(String neededVar)
    {...}

    public String someMethod(String someVar)
    {
        // original implementation
    }
}

自定义类:

import example.x.SomeClass
public class MySomeClass extends SomeClass
{
    public MySomeClass(String neededVar)
    {
        super(neededVar);
        // anything else
    }

    @Override
    public String someMethod(String someVar)
    {
        // implement differently
        super.someMethod(someVar);
        // or add to it
    }
}