什么是运算符重载并且它与多态性不同?

Sno*_*san 3 java polymorphism operator-overloading

我用Java编程并且一直试图准确理解运算符重载是什么.我还是有点疑惑.

操作员可以根据哪个类使用它来具有不同的含义?我读过它是"Name Polymorphism".

Java显然不支持它,并且围绕这一点似乎存在很多争议.我应该担心吗?

作为最后一个问题,教师在作业中声明作业使用运算符重载,他主要是C++程序员,但我们可以用Java编写作业.由于Java不支持重载,有什么我应该警惕的吗?

Rad*_*zea 9

运算符重载基本上意味着对不同的数据类型使用相同的运算符.因此而得到不同但相似的行为.

Java确实不支持这种情况,但任何类似这样的情况都很有用,你可以在Java中轻松解决它.

Java中唯一重载的运算+符是算术运算符.当数(用int,long,double等),它增加了他们,就像你所期望的.与String对象一起使用时,它会将它们连接起来.例如:

String a = "This is ";
String b = " a String";
String c = a + b;
System.out.print (c);
Run Code Online (Sandbox Code Playgroud)

这将在屏幕上打印以下内容:This is a String.

这是Java中唯一可以讨论运算符重载的情况.

关于你的任务:如果要求是做一些涉及运算符重载的事情,你就不能用Java做到这一点.向您的老师询问您可以使用哪种语言进行此特定作业.您很可能需要在C++中完成它.

PS:在情况下Integer,Long,Double等对象的同时,也会因为拆箱的工作.