我使用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
等对象,由于取消装箱,它也将起作用。