从外部或私有类重写方法

时间:2016-08-17 06:32:32

标签: java maven

我有一些使用外部库(mvn)方法的方法。所以我不能适应它。当我尝试覆盖该方法时:

  

void在*类中不公开;无法从外部访问错误   包       无法访问该外部库

如何从外部类(库)覆盖方法的问题,该方法使用私有方法扩展抽象类或类。

logout = new Class(arg1, arg2) { 
           @Override 
           public boolean ovMethod(){ 
               someMethod(true); 
} 

方法ovMethod()来自(外部类,由maven下载)类:

Class extends AbstractClass {

   public abstract class AbstractClass { 
        void someMethod(boolean arg) { 
        } 
   } 
}

1 个答案:

答案 0 :(得分:0)

一般来说,您不应该覆盖不应被覆盖的方法。但作为最后的手段,如果方法是包私有(a.k.a。默认可见性),您可以在同一个包中创建自己的类,因此它有权覆盖该方法:

package same.package_as.superclass;

public class MyClass extends Class {
    @Override
    void someMethod(boolean arg) {
        // custom implementation
    }
}