扩展类后如何提供对库方法的对象引用?

时间:2018-10-01 23:23:06

标签: java oop override

我使用firstParametersecondParameter配置一个Config对象。 我正在使用的库具有使用Config对象中的firstParameter并执行某些操作的方法。但是,对于我的项目非常特定,我希望它改用secondParameter。这两个参数是彼此的别名,我的项目要求我使用secondParameter

要实现此目的,我的方法是从库中扩展类并重写该方法。但是,该类在运行时实例化,并且没有对Config对象的引用。它只能访问显式传递给它的firstParameter

问题:扩展此类并为其提供Config对象的引用的最佳方法是什么?

class A {
   private B b;
   private void methodA(Config config, Object somethingElse){
     b = Class.forName(config.getName()).newInstance();
   }
}

class B {
  public boolean methodB(Object firstParameter){
    //do something
  }
}

class C extends B {

   @Override
   public boolean methodB(Object firstParameter){
      return super.methodB(Config.getSecondParameter()); // Does not have a reference to Config - this is what I want to achieve.
   }
}

0 个答案:

没有答案