Вы можете расширять классы в Converter.jar, если они не являются окончательными, и переопределять методы, содержащиеся в них, до тех пор, пока они являются видимыми и не являются окончательными.Скажем, у Converter.jar есть такой класс:
public class ExchangeToDollar {
public BigDecimal exchangeEuroToDollar(final BigDecimal euroValue) {
...method implementation....
}
}
Вы можете расширить и переопределить его так:
public class MyClass extends ExchangeToDollar {
@Override
public BigDecimal exchangeEuroToDollar(final BigDecimal euroValue) {
...your implementation....
}
}
Метод MyClass.exchangeEuroToDollar(BigDecimal)
переопределяет реализацию exchangeEuroToDollar(BigDecimal)
, которая содержится вкласс ExchangeToDollar
в Converter.jar означает, что при вызове метода в экземпляре MyClass
ваша реализация будет выполнена.
Недостатком реализации этого типа является то, что любой код, который выне иметь контроля над тем, что использует ExchangeToDollar
, не сможет использовать вашу переопределенную реализацию, если вы не можете вместо этого передать экземпляр MyClass
.