首页 > 试题广场 >

重载(Overload)和重写(Override)的区别。重

[问答题]
请说明重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
两者都是多态的一种表现形式 重载在同一个类中,可以有多个方法名相同参数不同的方法 重写需要继承 。重载对返回类型没有特别的要求
发表于 2019-04-26 20:56:39 回复(0)
更多回答
重载发生在一个类中。有多个方法名相同,形参列表不同的方法。与修饰符返回值无关。重写是子类继承父类。子类对父类的方法进行重写。方法名返回值形参列表相同。方法体不同,方法修饰符的权限大于等于父类,返回值类型必须小于等于父类。至于重载根据方法返回值也是不存在的。
发表于 2019-01-20 23:52:14 回复(1)
方法重载(overload):
1.必须是同一个类
2方法名(也可以叫函数)一样
3参数类型不一样或参数数量不一样
 方法的重写(override)两同两小一大原则:
方法名相同,参数类型相同
子类返回类型小于等于父类方法返回类型,
子类抛出异常小于等于父类方法抛出异常,
子类访问权限大于等于父类方法访问权限。
发表于 2019-04-27 22:35:37 回复(0)
Overload是重载的意思,Override是覆盖的意思,也就是重写。 重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。它是一个类中多态性的一种表现。返回值类型可以相同也可以不相同,无法以返回型别作为重载函数的区分标准。 重写Override:在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。 如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
发表于 2019-05-09 11:06:04 回复(0)
overload表示重载,同一类中多态的一种表现形式,返回值可以相同也可以不同,不能根据返回值类型作为区分重载函数的区分标准, override表示重写,子类继承父类,拥有父类的属性和方法但有时候子类并不想原封不动的继承父类中的方法,而是需要做一定的修改,这时候就要重写,重写的方***覆盖之前方法
发表于 2019-05-02 00:56:13 回复(0)
重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。它是一个类中多态性的一种表现。返回值类型可以相同也可以不相同,无法以返回型别作为重载函数的区分标准。 重写Override:在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。 如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
发表于 2019-04-28 23:03:16 回复(0)
overload表示重载,同一类中多态的一种表现形式,返回值可以相同也可以不同,不能根据返回值类型作为区分重载函数的区分标准, override表示重写,子类继承父类,拥有父类的属性和方法但有时候子类并不想原封不动的继承父类中的方法,而是需要做一定的修改,这时候就要重写,重写的方***覆盖之前方法
发表于 2019-04-26 22:46:22 回复(0)
两者都是多态的一种表现形式 重载在同一个类中,可以有多个方法名相同参数不同的方法 重写需要继承 。重载对返回类型没有特别的要求
编辑于 2019-04-26 20:43:50 回复(0)
1 定义区别 重载是指不同的函数使用相同的函数名 但是函数的参数个数或类型不同 调用的时候根据函数的参数来区别不同的函数 覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现 即函数名和参数都一样 只是函数的实现体不一样 2 类的关系区别 覆盖是子类和父类之间的关系 是垂直关系 重载是同一个类中方法之间的关系 是水平关系 3 产生方法区别 覆盖只能由一个方法或只能由一对方法产生关系 重载是多个方法之间的关系 4 参数列表要求区别 覆盖要求参数列表相同 重载要求参数列表不同 5 调用方法区别 覆盖关系中 调用方法体是根据对象的类型来决定 重载关系是根据调用时的实参表与形参表来选择方法体的
发表于 2019-04-26 15:21:27 回复(0)