有一个带有类的Java库:

class DefaultFieldFactory {
  ...
  public static String createCaptionByPropertyId(Object propertyId) { ... }
  ...
}

class FieldFactory extends DefaultFieldFactory {
  ...
  // Lot of methods that use DefaultFieldFactory.createCaptionByPropertyId
  ...
}


我在Scala项目中使用FieldFactory类,并且需要更改createCaptionByPropertyId方法。

没有AOP并重写FieldFactory类怎么办?

是否可以在包中替换DefaultFieldFactory类的实现?它相对简单且简短。

提前致谢,
埃塔姆

最佳答案

静态类将进入Scala中的object中,该类不会继承DefaultFieldFactory的静态方法-实际上,这很好地反映了您不能覆盖静态的事实。

这就是为什么人们不赞成使用静力学的原因之一。

10-08 12:17