我用 Java 编程,并且一直在尝试准确理解什么是运算符重载。我还是有点不解。
运算符可以根据使用它的类而具有不同的含义?我读过它是“名称多态性”。
Java 显然不支持它,而且围绕它似乎有很多争议。我应该为此担心吗?
作为最后一个问题,老师在作业中说作业使用运算符重载,他主要是 C++ 程序员,但我们可以用 Java 编写作业。由于 Java 不支持重载,有什么我应该提防的吗?
最佳答案
运算符重载基本上意味着对不同的数据类型使用相同的运算符。并因此获得不同但相似的行为。
Java 确实不支持这个,但是在任何情况下这样的东西可能有用,您都可以在 Java 中轻松解决它。
Java 中唯一重载的运算符是算术运算符+
。当与数字(int
、long
、double
等)一起使用时,它会将它们相加,正如您所期望的那样。当与 String
对象一起使用时,它将它们连接起来。例如:
String a = "This is ";
String b = " a String";
String c = a + b;
System.out.print (c);
这将在屏幕上打印以下内容:This is a String
。
这是 Java 中唯一可以讨论运算符重载的情况。
关于你的任务:如果要求是做一些涉及运算符重载的事情,你不能在 Java 中这样做。向您的老师询问您在这项特定作业中可以使用哪种语言。您很可能需要用 C++ 来完成。
PS:对于Integer
、Long
、Double
等对象,由于拆箱,它也可以工作。
关于java - 什么是运算符重载,它与多态性有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9184059/