java 为什么不支持C++的运算符重载特性

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:49:26

java语言的设计初衷是简单易学,运算符重载增加了编程的复杂性。不支持运算符重载是为了防止运算符重载使得代码的功能变的不清晰。

这是以java语言的设计理念出发的,无所谓好坏,也有人说运算符重载后的程序更像面向过程的,但是毋庸置疑的是java的易学性确实增强了,但有些问题用运算符重载也确实会更方便。

条条大路通罗马,遇到的问题总会有办法解决,java语言也不是离不开运算符重载的。

但JAVA里面的类的方法很全面,可以满足大部分的要求。你想了解什么我们可以共同学习一下。我也是VC转到JAVA的,目前两种都在使用,呵呵。

为什么加拿大没有死刑?

废话,当然是规定了!

因为 方法 足以够,不必要的其他麻烦又有是好处?
List.addAll()就能实现 +

Java其实是支持的比如String类的+就相当于字符串连接。

Java语言的设计者当初在调查的时候发现,相当一部分C++程序的错误都是因为重载运算符定义不当而造成的。Java的设计初衷在于丰富和提高C++的功能,去掉C++的不足,以保证程序的安全性。除了不支持运算符重载,Java同样不支持很多其他容易出错的C++特性。比如C++允许多重继承,Java禁止这么做,取而代之的是多重接口实现。C++允许自行进行动态内存的分配与回收,Java只允许JVM自行决定,程序员没有权利自行分配内存。C++允许使用指针直接对内存进行操作,Java则完全禁止这么做。这么做很大程度上提高了程序的安全性,减少了动态错误的发生几率。