Java 为什么没有操作符重载

如题所述

断提问题 - 系统设计复杂程度本身需要知识经验技巧C++ 自本身太复杂 (嗯我理解二者皆 ^_^)Bruce Thinking In Java 四 序写随着自断加深Java理解越越解Java语言设计目标使描述构建复杂系统工作变更容易即使限知识经验程序员能够使用Java进行某种复杂程度系统建构工作Java门更容易能够更高抽象层描述系统语言许高效显够灵经让 surprise...
题目题Java没操作符重载C++ 操作符重载其语言强与灵重要特征 我今工作原接触Quatro DSP模拟器Quatro DSP用于打印机扫描仪数字图象处理器模拟器本身其实C++库通库支持能够Quatro DSP汇编语言转化合C++ 函数调用C++集发环境( VC)模拟DSP汇编语言执行主要工作原理非寄存器定义某类类型象使用宏替换操作符重载汇编语言变函数调用
C++操作符重载自定义类型转换 (嗯数C++书籍都劝没理由情况千万用使用者)Exceptional C++书讲异安全代码章节段
In particular, it helps to develop a habit of eyeing with mild suspicion anything that might turn out to be a function call --- including user-defineed operators, user-defined conversions, and silent temporary objects among the more subtle cluprits - because any function call might throw.
实际帮养习惯所语句都带着怀疑眼光猜测能函数调用 - 包括自定义操作符自定义类型转换些更难捉摸语境悄悄产临象 - 函数调用能抛
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-08-04
java也有运算符重载的,+就是。
至于为什么没有开放更多运算符重载,可能是因为这个本身语法糖嫌疑过大,并无一定存在的必要吧。对于初学者有时候甚至会造成混淆。本回答被网友采纳

Java支持运算符重载吗,为什么?
不支持。因为Java作者最初没加,他认为不需要。后来则是因为郑智原因,就将这一缺憾当做一个好处来宣传。编程语言本身本不应限制程序的基于直觉或基于过去的知识的表达。就像Java对泛型的支持情况同样很糟糕一样,我们也只能希望有一天他们会引入这些语法属性。

为什么Java不支持操作符重载
回到题目的话题,Java为什么没有操作符重载,C++ 的操作符重载是其语言强大与灵活的一个重要特征, 我今年因为工作原因接触过Quatro DSP的模拟器,Quatro DSP是一个用于打印机,扫描仪的数字图象处理器,模拟器本身其实是一个C++库,通过库的支持能够把Quatro DSP的汇编语言转化为合法的C++ 函数调用,从而...

求JAVA 和 C++ 语法上的区别,要包括 JAVA特有的语法和C++特有的语法...
Java不支持操作符重载。操作符重载被认为是c十十的突出特征,在Java中虽然类大体上可以实现这样的功能,但操作符重载的方便性仍然丢失了不少。Java语言不支持操作符重载是为了保持Java语言尽可能简单。6.预处理功能 Java不支持预处理功能。c/c十十在编译过程中都有一个预编泽阶段,即众所周知的预处理...

JAVA与C++的区别详解
在操作符重载方面,JAVA不支持操作符重载,而C++支持,这被认为是C++的一个突出特征。JAVA为了保持语言的简单性,不支持操作符重载。JAVA不支持预处理功能,而C\/C++在编译过程中都有预处理阶段。JAVA虚拟机没有预处理器,但提供了引入语句(import),与C\/C++的预处理器功能类似。在函数参数方面,JAVA不...

c++语言与java语言的区别有哪些?
2. 运算符重载:C++允许对运算符进行重载,使程序具有更高的灵活性和可读性。Java不支持运算符重载。3. 预处理:C++包含预处理器,如头文件和宏定义,用于提高代码的可维护性和可重用性。Java虽然没有预处理器,但通过import机制实现了类似的功能。4. 默认参数:C++支持默认函数参数,这在某些情况下...

c++和jave有什么区别
5.操作符重载 Java不支持操作符重载。操作符重载被认为是c十十的突出特征,在Java中虽然类大体上可以实现这样的功能,但操作符重载的方便性仍然丢失了不少。Java语言不支持操作符重载是为了保持Java语言尽可能简单。6.预处理功能 Java不支持预处理功能。c/c十十在编译过程中都有一个预编泽阶段,即众...

Java操作符和流程控制语法和C++的操作符和流程控制语法比较有何联系和...
你没有必要问这个问题,因为没有任何意义吧,Java是对C++的封装但不是对C++的扩展,这点一定要清楚,很多有点C++基础的人都知道二者关系上的一点皮毛,根本没有把问题说清楚 比方说C++中允许运算符重载,但Java中不允许运算符重载,这说明了Java并不是C++的一种简单扩展,再如:C++中允许使用goto语句...

java 方法的重写,重载中对于两个方法修饰符,返回值有什么要求吗?
java覆盖,方法的修饰符可以不同,但子类方法的修饰符必须比父类方法的限...答:子类可以重写父类的方法,但有几个需要注意的, 子类重写修饰不得缩小, 比如父亲类中是public 子类重载方法不得变为 private 不得扩大错误抛出类型的范围,比如父类方法中只抛出 NumberF od方法根本不是重写的A 的method方法...

java特点
Java的编译方式也与众不同,源代码首先被编译为二进制字节码,然后由虚拟机在不同平台上解释执行,实现了跨平台的“一次编译,到处执行”。然而,这可能导致程序运行时的额外开销,影响效率。Java简化了语法,易于学习,舍弃了C++中的复杂特性,如操作符重载和多继承,提供了自动内存管理,降低了内存管理的...

java += 运算符不能对除了整数类型之外的类型进行运算?
Hello World"对于其他非整数类型,例如浮点数类型 float、double 或者自定义的类类型,+= 运算符可能会引发编译错误,因为这些类型并没有实现 += 运算符的重载。总结来说,+= 运算符对于整数类型是有效的,但对于其他类型的变量,运算结果可能会有所不同,具体取决于类型是否实现了相应的运算符重载。

相似回答