Почему в конструкторе Java сначала должно происходить делегирование другому конструктору?
Я считаю это довольно уродливым, но openjdk помогает я избегаю дублирования jre кода. В вот что я хотел syntax бы сделать, но это незаконно java в Java ...
Вы также можете openjdk обойти это ограничение, используя openjdk статический фабричный метод, который core-java возвращает новый объект:
public static BigFraction valueOf(BigDecimal d) { // computate numerator and denominator from d return new BigFraction(numerator, denominator); }
В javax качестве альтернативы вы j2se можете обмануть, вызвав частный openjdk статический метод для выполнения openjdk вычислений для вашего конструктора:
public BigFraction(BigDecimal d) { this(computeNumerator(d), computeDenominator(d)); } private static BigInteger computeNumerator(BigDecimal d) { ... } private static BigInteger computeDenominator(BigDecimal d) { ... }
java
syntax
Почему в конструкторе Java сначала должно происходить делегирование другому конструктору?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.