为了账号安全,请及时绑定邮箱和手机立即绑定

为什么Java不提供操作符重载?

为什么Java不提供操作符重载?

撒科打诨 2019-07-05 09:40:33
为什么Java不提供操作符重载?从C+到Java,一个显而易见的未回答的问题是,为什么Java不包括操作符重载?不是Complex a, b, c; a = b + c;比Complex a, b, c; a = b.add(c);?是否有一个已知的理由,有效的论据不允许操作员超载?原因是武断的,还是迷失了时间?
查看完整描述

3 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

JamesGosling将Java设计比作以下几个方面:

“当你从一个公寓搬到另一个公寓时,这就是关于搬家的原则。一个有趣的实验是把你的公寓收拾好,把所有的东西都放进盒子里,然后搬到下一间公寓去,直到你需要时才把东西打开。所以你在做你的第一顿饭,你从盒子里拿出一些东西。一个多月后,你就会用它来找出你生活中真正需要的东西,然后你把剩下的东西拿走-忘记你有多喜欢它或者它有多酷-然后你就把它扔掉。令人惊讶的是,它简化了你的生活,你可以在各种设计问题上使用这个原则:而不是仅仅因为它们很酷,或者仅仅因为它们很有趣就去做。“

您可以阅读引文的上下文

基本上,运算符重载对于建立某种点、货币或复数模型的类来说是很好的。但在那之后,你就会很快地用尽所有的例子。

另一个因素是C+中的特性被开发人员过度加载,比如‘&’、‘溶胶-’、CAST操作符,当然还有‘New’。将其与PASSbyvalue和例外相结合所产生的复杂性将在例外C+书。


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 784 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信