Я думаю, что есть хакерский способ сделать это ... Но если у вас есть исходный код для исходного класса Java, я настоятельно рекомендую вам изменить его.
Если нет, вы можете создать новую реализацию DefaultFieldFactory
как объект в вашем классе, который скрывает исходную реализацию в вашем классе. Тогда реализация объекта DefaultFieldFactory
может вызывать исходные Java-имплиментации.
// in package x.y.a
class DefaultFieldFactory {
...
public static String createCaptionByPropertyId(Object propertyId) { ... }
...
}
// in package x.y.b
class FieldFactory extends DefaultFieldFactory {
object DefaultFieldFactory{
def createCaptionByPropertyId(propertyId: AnyRef): String {
//import the original implimentation
import x.y.b.DefaultFieldFactory._
...
}
}
// Lot of methods that use DefaultFieldFactory.createCaptionByPropertyId
...
}
Как я уже сказал ... не приятно!