【发布时间】:2016-12-23 16:39:54
【问题描述】:
我有一些方法使用外部库 (mvn) 中的方法。所以我不能修改它。当我尝试覆盖该方法时,我得到:
void 在 *class 中不公开;无法从外部访问错误 包裹 无权访问该外部库
关于如何覆盖扩展抽象类或具有私有方法的类的外部类(库)中的方法的问题。
logout = new Class(arg1, arg2) {
@Override
public boolean ovMethod(){
someMethod(true);
}
Method ovMethod() from (external class, maven下载) Class:
Class extends AbstractClass {
public abstract class AbstractClass {
void someMethod(boolean arg) {
}
}
}
【问题讨论】:
-
一般来说,你不要覆盖它,这就是封装的重点。您可以尝试使用反射之类的东西,但这可能超出了您实际问题的范围。
-
我希望你没有真的有一个名为
Class的类,因为已经有java.lang.Class。一个更现实的例子会很有用。鉴于您没有显示任何私有方法,也不清楚您在谈论什么私有方法......如果您提供minimal reproducible example,这将非常有帮助。不过,我怀疑 Maven 是否相关。