Java向类添加方法

洛伦佐·菲奥罗尼

早上好,我有一个自定义类 cBigDecimal,它扩展了类 BigDecimal。我的目标是使用 BigDecimal 和 cBigDecimal 类中的方法(例如“add”或“multiply”,以及自定义函数“percentage”)。问题是“添加”& co。返回 BigDecimal,显然我不能将它转换为 cBigDecimal ......有什么想法吗?提前致谢,洛伦佐

安迪·特纳

你的cBigDecimal班级究竟做了什么而BigDecimal没有呢?

这是一个BigDecimal完全可以扩展的设计监督Josh Bloch 在Effective Java 3rd Ed Item 17:“最小化可变性”中说:

不可变类在编写BigIntegerBigDecimal编写时必须是有效的 final没有被广泛理解,因此它们的所有方法都可能被覆盖。不幸的是,在保持向后兼容性的同时,这无法在事后纠正。

如果您只想向 中“添加一个方法” BigDecimal,您可以简单地创建一个辅助方法:

static BigDecimal percent(BigDecimal b) {
  return b.divide(100);  // Or whatever it does.
}

然后,您可以BigDecimal随处处理普通的 old s。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java向超类添加方法

来自分类Dev

向类添加方法

来自分类Dev

如何在Kotlin中向Java类添加静态方法

来自分类Dev

Java 8向类添加扩展/默认方法

来自分类Dev

从createElement方法向对象添加ID /类

来自分类Dev

C ++:向基类接口添加方法

来自分类Dev

向Node.js类添加方法

来自分类Dev

向Ruby Array开放类添加方法

来自分类Dev

使用原型向 Typescript 类添加方法

来自分类Dev

在Java中向Thread类添加函数

来自分类Dev

在Java中向Thread类添加函数

来自分类Dev

java类的添加方法

来自分类Dev

Java使用新类向现有类添加功能,同时仍公开先前类的所有方法

来自分类Dev

向类添加功能

来自分类Dev

向数组添加类

来自分类Dev

如何使用模块向Rails模型动态添加类方法

来自分类Dev

在gradle中向ant任务添加类路径的最佳方法

来自分类Dev

在不破坏实现的情况下向类添加方法

来自分类Dev

配置Rails实例:向模型类添加方法

来自分类Dev

如何使用`functools.partial()`向类动态添加方法

来自分类Dev

动态向类添加函数并将其作为绑定方法

来自分类Dev

如何使用模块向Rails模型动态添加类方法

来自分类Dev

在不破坏实现的情况下向类添加方法

来自分类Dev

向Ruby类添加的方法在MiniTest中抛出NoMethodError

来自分类Dev

通过proc / block向Array类添加方法?

来自分类Dev

如何通过gem向核心类添加方法

来自分类Dev

向XText中的现有类添加扩展方法

来自分类Dev

通过接口向转换器类添加方法

来自分类Dev

Laravel 向供应商类添加方法