首页 > 试题广场 >

在 java 中,一个类可同时定义为许多同名的方法,这些方法

[单选题]

java 中,一个类可同时定义为许多同名的方法,这些方法的形式参数个数,类型或顺序各不相同,传回的值可能各不相同,这种面向对象的特性称为()

  • 隐藏
  • 覆盖
  • 重载
  • 无此特性
选C。

重载,多态在编译期的表现形式。出现在一个类中,判定重载的条件只有方法名一致,方法形参列表不同。其他的(如返回值,访问修饰符)都不可以判定。

重写,多态在运行期的表现形式。出现在子父类,实现类与接口中。判定重载有一个规律:“两同两小一大
两同:方法名和形参列表一致;
两小:抛出的异常和返回值相容于被重写的方法。(一旦返回值是基本数据类型,那重写的方法返回值必须一致或者是Object)
一大:访问修饰符大于等于被重写方法。

注意:对于重写而言,只有可见的实例方法才可以被重写。静态方法和私有方法都是隐藏,不是重写!!!

《深入理解JVM虚拟机》,重载就是在编译期根据方法形参的静态类型确定方法版本,重写就是在运行期根据实际调用者的实际类型确定方法把版本。
发表于 2018-06-29 11:33:46 回复(2)
这是java重载(overload)的解释说明,用最为简单的一句话来解释重载:同名不同参,与返回值类型无关。
编辑于 2017-05-26 15:33:16 回复(2)

重载(Overload)

什么是重载?在一个类中定义了两个或两个以上的方法,我们就称之为重载

重载的要求:方法名必须保持一致,参数列表不一致,与返回值无关

注意:构造函数可重载!并且可以有private等修饰符


重写(Override)

重写的前提:必须存在继承关系

什么是重写?子类和父类中出现了同名的方法名,我们就称之为重写

什么情况下需要重写?父类中的方法无法满足于子类的需求

重写的要求:方法名和参数列表必须一致,子类方法的修饰符必须大于或等于父类方法的修饰符,子类方法的返回值必须小于或等于父类方法的返回值,子类方法抛出的异常必须小于或等于父类方法抛出的异常!

注:声明为final的方法不能重写但可重载

编辑于 2019-08-25 23:47:26 回复(0)
为楼下的回答点赞:
注意:对于重写而言,只有可见的实例方法才可以被重写。静态方法和私有方法都是隐藏,不是重写!!!

《深入理解JVM虚拟机》,重载就是在编译期根据方法形参的静态类型确定方法版本,重写就是在运行期根据实际调用者的实际类型确定方法把版本。
发表于 2018-09-30 13:24:15 回复(0)
我觉得选d,重载和方法返回值无关
发表于 2018-06-03 20:31:42 回复(0)
同名方法返回值类型不同,编译不能通过!
发表于 2017-04-25 10:45:05 回复(0)
理解重载和重写
重载:参数不同,方法名相同,与返回值无关
重写:参数和方法名均不可改变

发表于 2019-09-16 19:36:50 回复(0)

这个我做错了,原因是面向对象的特性是:封装、继承、多态。

发表于 2019-06-11 22:36:46 回复(1)
方法重载
发表于 2019-05-03 07:04:48 回复(0)
顺序不同也是的
发表于 2019-04-19 19:13:48 回复(0)
重载:同名不同参,与权限修饰符返回值类型无关
发表于 2019-03-28 10:57:32 回复(0)
这不是重载的定义吗?😓
发表于 2017-10-25 16:01:28 回复(0)
覆盖和重写是一回事,重写的方法名和参数类型均相同,隐藏是子类中存在与父类同名同参的方法时,父类方法被隐藏
发表于 2017-07-15 20:24:58 回复(0)
C,区别名字相同肯定是重载啊
发表于 2017-01-02 20:52:16 回复(0)
C java中重载的特点就是同一个类中方法名相同,参数不同,这是java中重载的显著特征。
发表于 2017-01-02 04:40:52 回复(0)
题目意思说的就是Java中重载的概念
发表于 2017-01-01 02:07:19 回复(0)