java中运算符重载的混淆

java中运算符重载的混淆,java,Java,在互联网上的每一个地方,我都发现java不支持操作符重载,但不知何故我感到困惑。因为如果是这样的话,“+”操作符如何能够同时添加常量和字符串? 任何解释都将不胜感激当您可以重载运算符时,可以说一种语言支持运算符重载,也就是说,让他们做一些语言中没有内置的事情。当语言对两个不同的事情使用同一个操作符时,就不需要了。当你可以重载操作符时,一种语言被认为支持操作符重载,也就是说,让他们做一些语言中没有的事情。当langauge对两个不同的事物使用同一个操作符时,情况就不一样了。您可以使用这些操作符,因

在互联网上的每一个地方,我都发现java不支持操作符重载,但不知何故我感到困惑。因为如果是这样的话,“+”操作符如何能够同时添加常量和字符串?
任何解释都将不胜感激

当您可以重载运算符时,可以说一种语言支持运算符重载,也就是说,让他们做一些语言中没有内置的事情。当语言对两个不同的事情使用同一个操作符时,就不需要了。

当你可以重载操作符时,一种语言被认为支持操作符重载,也就是说,让他们做一些语言中没有的事情。当langauge对两个不同的事物使用同一个操作符时,情况就不一样了。

您可以使用这些操作符,因为它们是用语言实现的。但是java中不支持运算符重载


您可以创建add(Object o)之类的方法,它与操作符的作用基本相同,只是看起来不太好。

您可以使用这些操作符,因为它们是用语言实现的。但是java中不支持运算符重载

您可以创建add(Object o)之类的方法,它与操作符所做的基本相同,只是看起来没有那么好。

有些语言,例如C#,允许您重载操作符。换句话说,您可以定义==或++等的含义。例如,在希望使用==来测试对象的相等性而不是使用.equals()方法的情况下,这非常有用

下面是C#的教程,它向您展示了如何使用+运算符:

或者这个:

目前在Java中无法做到这一点。

某些语言,如C#,允许您重载运算符。换句话说,您可以定义==或++等的含义。例如,在希望使用==来测试对象的相等性而不是使用.equals()方法的情况下,这非常有用

下面是C#的教程,它向您展示了如何使用+运算符:

或者这个:


目前在Java中无法做到这一点。

谢谢@JB Nizet谢谢@JB Nizet