如何在java中添加2个对象

如何在java中添加2个对象,java,Java,我是Java新手,在任何地方都找不到它的答案,因为我甚至不知道如何搜索它 我想定义如何将两个对象添加到一起,这样您就可以得到一个新对象,例如,您可以添加字符串“a”和字符串“b”以获得“ab” 我知道这可以在python中通过执行self.\uuu添加(self,other)来实现。 在Java中如何做到这一点?您正在寻找的东西称为运算符重载。它存在于某些语言中,但在Java中不存在 您可以做的最好的事情是在类中定义一个add()方法,然后像这样使用它: object1.add(object2)

我是Java新手,在任何地方都找不到它的答案,因为我甚至不知道如何搜索它

我想定义如何将两个对象添加到一起,这样您就可以得到一个新对象,例如,您可以添加字符串“a”和字符串“b”以获得“ab”

我知道这可以在python中通过执行
self.\uuu添加(self,other)
来实现。
在Java中如何做到这一点?

您正在寻找的东西称为运算符重载。它存在于某些语言中,但在Java中不存在

您可以做的最好的事情是在类中定义一个add()方法,然后像这样使用它:

object1.add(object2);

我知道在它们之间加一个+看起来更好,但那会使编译更复杂。

Java不允许重写运算符<代码>字符串是允许此功能的特殊情况

您可以添加一个
add
函数,如下所示:

public YourObject add(YourObject yourObject){
    return new YourObject(this.propertyToAdd + yourObject.propertyToAdd);
}

<> P>除了<代码> java .Lang.Stult作为特殊的CASE 1之外,java不允许您定义任意类型的代码< >代码> +>代码,或者实际上任何其他操作符,如C++语言或斯卡拉语言。换句话说,Java不支持运算符重载

您最好的选择是构建像
add
&c这样的函数。在这里引用先例:例如,看看Java开发人员是如何使用
biginger
实现这一点的。遗憾的是,无法定义函数的优先级,因此必须使用很多括号来告诉编译器如何计算表达式。正是因为这个原因,我没有在任何严肃的数学应用程序中使用Java,因为即使是一个简单方程式的实现也会很快变成一个无法阅读的mess2


<P>1,在某些方面弊大于利:例如考虑<代码> 1 + 2 +“你好”+ 3 + 4 < /代码>。此编译时常量表达式是一种字符串类型,其值为
3Hello34


< 2】用C++模拟电影《星际》中虫洞的引力透镜效应。我向任何人挑战,用一种不支持运算符重载的语言来实现这一点!请参见

如果是字符串,您可以使用+:
“a”+“b”
。对于所有其他对象(除了原始数字类型的包装器类),您需要在类中提供一个方法。例如,看看
BigDecimal
。不,Java不支持用户定义的运算符重载。是否要连接字符串?然后可以使用
+
运算符。如果您想重载
+
,那是不可能的。否则,您可以创建一个方法(可能称之为
add
),我们应该注意,Java中确实存在内置运算符重载,不存在的是用户定义的变体。为什么我不能对您的答案进行投票?它说我需要15个声誉,但我怎样才能得到它呢?通过提出好的问题(比如这一个:我会投票给它),写出好的答案,提出好的编辑建议来赢得声誉。15代表门槛保护我们免受巨魔的袭击。(好的答案通常最终会被提升)。谢谢你的提升投票,但因为我是一个初学者,所以我不能真正回答很多问题,而且肯定不会像你这样的人更好。我认为总体上是这样的。扭曲投票过程的巨魔可能会败坏它的声誉——在这个网站上获得+15确实需要付出惊人的巨大努力!作为初学者,您仍然可以提出好的问题,并提出好的编辑建议。
我向任何人提出挑战,要求他们使用不支持运算符重载的语言正如软件开发中经常发生的那样,它是课程的马匹。