运算符重载和覆盖Java

raj*_*esh 7 java

运算符重载和运算符覆盖之间有什么区别?

它们在继承和控制台程序中是否相同?

YoK*_*YoK 21

Java不支持运算符重载和重写.

检查以下引用的desc:http://java.sun.com/docs/white/langenv/Simple.doc2.html

2.2.7不再有运算符重载

程序员没有提供重载标准算术运算符的方法.再一次,通过声明一个类,适当的实例变量以及操纵这些变量的适当方法,可以很容易地实现运算符重载的效果.消除运算符重载可以极大地简化代码.


amo*_*fis 9

您不能在Java中覆盖(也不重载)运算符.

在其他一些语言中,运算符重载和覆盖之间的区别在于函数重载和重写之间的区别.例如,在Scala中,运算符只是函数.


hab*_*dar 6

您可以在C++中重载operator,但不能在Java中重载.我想知道你是否意味着方法重载和方法覆盖?方法重载对同一方法签名有两个定义.例如,

int sum(int var1, int var2)
{
  return (var1+var2);
}

int sum(int var1, int var2, int var3)
{
  return (var1+var2+var3);
}
Run Code Online (Sandbox Code Playgroud)

在面向对象的编程中,您覆盖(重新定义)从上升(基础)类继承的函数.在类层次结构中,当子类中的函数(方法)与其超类中的方法具有相同的名称和类型签名时,子类中的方法将被覆盖超类中的方法.