关于java继承与接口的问题,为什么选C
发布网友
发布时间:2022-05-18 12:07
我来回答
共4个回答
热心网友
时间:2023-10-16 08:44
你看的 是C语言 的解释 ,不过,java 基本的 原理也适用除了 (4) virtual关键字。
不管java 还是 c 的语法,都规定,不能有 方法名和 参数相同 但是返回值不同的方法,因为 当你不需要返回值的时候,编译器,不知道你要 调用的方法
比如 2个方法 ,一个是 void fun() 一个是 int fun()
当你 用 fun()调用的时候 ,是 不能确定 是用的 void fun 还是 int fun()
所以,这就解释了为什么不选 b 的道理
所以,必须要加上 返回类型一致
只能选C
热心网友
时间:2023-10-16 08:45
覆盖 的要求 :
1 修饰符 必须和父类中的相同或者更宽 从宽到窄: public protected default private(不能覆盖)
2 返回值类型必须相同
3 方法名必须相同
4 参数列表必须相同
5 异常抛出必须相同或者更窄,或者不抛出 从宽到窄: Throwable Exception ClassNotFoundExcetpion......
方法重载的要求
方法名相同 ,参数列表不同
热心网友
时间:2023-10-16 08:45
B 可以肯定是不正确的 ,例如:原方法有返回值,你用一个方法名和参数类型相同却没有返回值的方法去覆盖,这样肯定是覆盖不了的。
热心网友
时间:2023-10-16 08:46
b 没有说相同的返回类型,所以错了