首页 > 试题广场 >

覆盖与重载的关系是( )

[单选题]

覆盖与重载的关系是(


  • 覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
  • 覆盖方法和重载方法都可以不同名,也可以同名
  • final修饰的方法可以被覆盖,但不能被重载
  • 覆盖与重载是同一回事

方法的重载:
方法重载的定义:同一个类或与他的派生类中,方法名相同,而参数列表不同的方法。其中参数列表不同指的是参数的类型,数量,类型的顺序这三种至少有一种不同。
方法重载与下列无关:
与返回值类型无关;与访问修饰符无关
构造方法也可以重载

方法的重写:
方法的重写的定义:在继承关系的子类中,定义一个与父类相同的方法
判断是否重写的方式:在方法之前加上@ Overri de
方法重写的特点:
在继承关系的子类中重写父类的方法
重写的方法必须方法名相同,参数列表也相同
重写的方法的返回值类型应该与父类中被重写方法的返回值类型相同或是他的子类类型
重写的方法的访问权限应该与父类中被重写方法的访问权限相同或高于它的访问权限
重写的方法不能抛出比父类更加宽泛的异常
方法重写的注意事项:
构造方法不能被重写,不要问为什么?因为构造方法名必须和类名相同
private修饰的成员方法不能被重写
static修饰的方法不能被重写
final修饰的方法不能被重写
当子类重写了父类中的方法后,子类对象调用该方法时调用的是子类重写后的方法
编辑于 2017-10-01 02:01:19 回复(1)
A.正确,子类对父类的方法进行覆写,重载没有这方面限制。
B.在同名的前提下才有重载和覆写,不重名就是两个方法了
C.final修饰的方法可以被继承,不可以覆写。重载与final没有关系。(多谢指正,已改)
D.不用解释,完全是两个含义
编辑于 2017-07-19 10:01:42 回复(5)
A的意思好像有说: 重载不仅可以在子父类中使用,还可以在同一个类中。
发表于 2017-06-16 12:44:49 回复(0)
某头像
方法的重载是指在一个类中存在这样的一些方法(包含从父类继承而来的方法),方法名称一样,但是参数的个数不同,或者参数个数相同,但对应的参数类型不同,这些同名的方法为重载; 而覆盖是指一个子类对其父类中的某个可见方法进行了重新的定义,即重新定义的方法满足名称相同,参数相同以及对应的参数相同的条件。这样,调用时将会调用子类中的方法,而不会调用父类中被覆盖的方法。
发表于 2017-05-25 20:42:37 回复(0)
重载关键记住3点:参数类型,个数,顺序至少一个不同
重写关键记住:方法名,返回值必须一致
发表于 2019-05-26 11:12:58 回复(0)
B、覆盖和重载都必须同名
C、final修饰的方法可以被重载,但是不能被重写
D、重写和重载都是多态的一种表现形式,但是一个是运行期,一个是编译期
发表于 2018-06-26 20:55:48 回复(0)
重写的前提是两个类之间,而重载往往在同一个类中。
发表于 2019-10-12 14:35:06 回复(0)
感觉A也有点问题,覆盖并不一定只发生在父类和子类之间,也可以是接口和实现类啊,不过BCD错的太明显。
发表于 2019-08-04 00:51:33 回复(0)
overload(重载) 参数类型、个数、顺序至少有一个不相同。 不能重载只有返回值不同的方法名。 存在于父类和子类、同类中。 override(重写) 方法名、参数、返回值相同。 子类方法不能缩小父类方法的访问权限。 子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。 存在于父类和子类之间。 方法被定义为final不能被重写。
发表于 2019-06-10 00:37:30 回复(0)
覆盖与重载
发表于 2019-05-20 08:26:13 回复(0)
A 正确
B 覆盖的方法和重载的方法都必须要同名
C finnal修饰过的方法可以被继承,但不能被重覆盖
D覆盖和重载是两回事,重载发生在同一个类中,而覆盖发生在类与类之间
发表于 2019-05-14 17:20:50 回复(0)
多态包括重载和重写 重载 一个类中多态的一种体现 重写 子类和父类中 多态的一种体现
发表于 2019-04-29 12:42:17 回复(0)
覆盖,就是重写,哈哈😄
发表于 2019-04-27 16:31:00 回复(0)
重写(覆盖):子类中出现了和父类方法声明一样的方法;
重载:本类中出现的方法名一样,参数列表不同,与返回值无关。
注意:子类对象调用方法时,先找本身方法再找父类。

发表于 2019-02-18 20:29:22 回复(0)
方法重写的特征,方法名相同,参数列表也相同
发表于 2019-01-16 09:03:38 回复(0)
final修饰的类不可以被继承 final 修饰的方法不可以被覆盖即重写
发表于 2018-02-12 10:26:20 回复(0)
我的大脑为什么会认为内部类继承外部类外部类就不是内部类的爸爸了。。。。。。。
发表于 2017-12-05 22:40:05 回复(0)
1.覆盖就是重写。重写只发生在子类和父类之间,而重载只发生在同一个类中。A的描述有问题的,好像是说重载不止发生在子类和父类之间,还发生在同类中。
2.很显然,不管是重载还是重写,都是用方法名来区别是不是重载(重写)过的方法。所以方法名是肯定相同的。
重写(覆盖)是子类重写了父类有的方法,方法名、参数相同,方法修饰符只能大于等于父类的方法修饰符,方法体不同。
重载是在一个类中,两个相同方法名的方法,有不同的参数类型,或者不同的参数个数。
3.final修饰的属性、方法,是不能改变的存在,可以被使用,但是不能被修改。所以可以被继承,但是不能被重写。

发表于 2017-07-25 10:38:43 回复(0)
敝人愚钝,我怎么觉得这里的覆盖和重写一个意思
发表于 2017-07-20 08:02:26 回复(0)
我怎么感觉没有对的,重载和覆盖都可以发生在子类中,重写是在同类中。
发表于 2017-06-22 10:11:17 回复(1)