当前位置: 首页 > 面试题库 >

Java为什么不需要运算符重载?[关闭]

商兴朝
2023-03-14
问题内容

已关闭 。这个问题是基于观点的。它当前不接受答案。

想改善这个问题吗? 更新问题,以便通过编辑此帖子以事实和引用的形式回答。

3年前关闭。

改善这个问题

Java为什么不需要运算符重载?Java有什么方法可以支持它吗?


问题答案:

Java仅允许对基本数字类型进行算术运算。这是喜忧参半的事情,因为尽管在其他类型(如复数,向量等)上定义运算符很方便,但始终存在与实现相关的特性。因此,运营商并不总是按照您的期望去做。通过避免运算符重载,可以更清楚地知道何时调用哪个函数。明智的设计在某些人的眼中动了。



 类似资料:
  • 问题内容: 从C ++到Java,一个显而易见的未解决问题是Java为什么不包括运算符重载? 没有;比这简单;吗? 是否存在已知的原因,有效的论据,不使运算符重载?原因是任意的还是迷失了时间? 问题答案: 假设你想覆盖所引用的对象的先前值a,则必须调用成员函数。 在C ++中,此表达式告诉编译器在堆栈上创建三(3)个对象,执行加法,然后将结果值从临时对象复制到现有对象中。 但是,在Java中,不对

  • 前面章节介绍了 Python 中的各个序列类型,每个类型都有其独特的操作方法,例如列表类型支持直接做加法操作实现添加元素的功能,字符串类型支持直接做加法实现字符串的拼接功能,也就是说,同样的运算符对于不同序列类型的意义是不一样的,这是怎么做到的呢? 其实在 Python 内部,每种序列类型都是 Python 的一个类,例如列表是 list 类,字典是 dict 类等,这些序列类的内部使用了一个叫作

  • 问题内容: 直到今天,我还以为例如: 只是以下方面的捷径: 但是,如果我们尝试这样做: 然后;将不会编译,但;会编译良好。 这是否意味着实际上;是类似这样的捷径 ? 问题答案: 与这些问题一样,JLS保留了答案。在这种情况下,第1.5.26.2节“复合赋值运算符”。摘录: 形式的复合赋值表达式等效于,其中T是的类型,不同之处在于该表达式E1仅被评估一次。 §15.26.2中引用的示例 以下代码正确

  • 问题内容: 我正在努力了解为什么在Java中 需要方法重载和重写 ? 我已经阅读了一些与此相关的文章,但无法理解为什么实际上需要它? 我还访问了以下url,但在该主题中我还不清楚。 Java重载和覆盖 任何实际的例子将不胜感激。 提前致谢。 问题答案: 来自doc的 方法重载: 假设您有一个可以使用书法绘制各种类型的数据(字符串,整数等)的类,并且包含一个用于绘制每种数据类型的方法。为每个方法使用

  • targetPixValList是一个包含Double对象的列表,它也包含列表中连续位置的相似值,当我尝试使用Code_1比较两个Double值时,cnt返回零。当我使用code_2时,cnt返回值。 列表的类型是 为什么“==”运算符不能与Double一起使用? 代码_1: Code_2:

  • C++ 重载运算符和重载函数 C++ 语言支持各种关系运算符( < 、 > 、 <= 、 >= 、 == 等等),它们可用于比较 C++ 内置的数据类型。 您可以重载任何一个关系运算符,重载后的关系运算符可用于比较类的对象。 下面的实例演示了如何重载 < 运算符,类似地,您也可以尝试重载其他的关系运算符。 #include <iostream> using namespace std; cl