为什么在Java构造函数中必须首先委派给其他构造函数?

为什么在Java构造函数中必须首先委派给其他构造函数?,第1张

为什么在Java构造函数中必须首先委派给其他构造函数

我觉得这很丑陋,但这可以帮助我避免重复代码。以下是我想做的事情,但是在Java中是非法的…

您还可以通过使用返回新对象的静态工厂方法来解决此限制:

public static BigFraction valueOf(BigDecimal d){    // computate numerator and denominator from d    return new BigFraction(numerator, denominator);}

或者,您可以通过调用私有静态方法为构造函数进行计算来作弊:

public BigFraction(BigDecimal d){    this(computeNumerator(d), computeDenominator(d));}private static BigInteger computeNumerator(BigDecimal d) { ... }private static BigInteger computeDenominator(BigDecimal d) { ... }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5132375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存