Java不能超载任何运算符.为什么?

use*_*463 6 java operator-overloading

可能重复:
Java运算符重载

在c ++中,我们可以执行运算符重载.但Java也是一种面向对象的语言.那么为什么java不支持重载?

And*_*nck 21

http://java.sun.com/docs/white/langenv/Simple.doc2.html

程序员没有提供重载标准算术运算符的方法.再一次,通过声明一个类,适当的实例变量以及操纵这些变量的适当方法,可以很容易地实现运算符重载的效果.消除运算符重载可以极大地简化代码.

最后的陈述当然是非常主观的.


Ven*_*kat 12

实际上,它确实支持运营商超载...非常有限,内置的唯一性质.例如,除了通常的算术之外,String的'+'也会重载.

当然,大多数人都想知道为什么Java不支持用户定义的运算符重载.:-)最简单的答案似乎是Java创建者当时没有看到任何干净的方法将它添加到语言中而不会使Java变得混乱(如C++).