Java有没有C#那样可以对某个类进行扩展,添加新的方法

例如帮String类型扩展一个ToInt()方法

阅读 8.3k
6 个回答

String类比较特殊...其他的可以通过继承然后添加方法

没有. Java的类是死的, 一但写好就不再有更改能力. 你应该不是问, 通过继承来添加新的方法. 如果有的话, Scala也不用费劲搞个隐式视图来为已有类添加方法.

好吧, 这也不是铁的证据.

你说的是接口吗?

没有。Scala和PHP有trait

Java甚至都没有给类起别名的能力。

装饰者模式。

可以通过 Manifold 来在 Java 中实现扩展方法(原理和 Lombok 是一样的),而且我已经在项目中进行了实践。具体可以看看我的文章:Java 缺失的特性:扩展方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题