首页 > 试题广场 >

非抽象类实现接口后,必须实现接口中的所有抽象方法,除了abs

[单选题]
非抽象类实现接口后,必须实现接口中的所有抽象方法,除了abstract外,方法头必须完全一致.
  • 正确
  • 错误
实际上这道题考查的是两同两小一大原则:
方法名相同,参数类型相同
子类返回类型小于等于父类方法返回类型,
子类抛出异常小于等于父类方法抛出异常,
子类访问权限大于等于父类方法访问权限。
编辑于 2017-09-01 18:11:23 回复(21)
方法头指:修饰符+返回类型 +方法名(形参列表)
接口的访问权限:public,abstract
两同两小一大原则
返回值和参数列表相同
返回值类型小于等于父类的返回值类型
异常小于等于父类抛出异常
访问权限大于等于父类

发表于 2019-02-13 14:19:18 回复(5)
看图
编辑于 2017-08-10 08:59:32 回复(8)
查了下方法头包括返回值的,实现接口时,返回值可以为子类把。。。
发表于 2017-08-01 21:52:14 回复(4)
接口中方法不加访问权限修饰符,默认也是public。但是实现类中必须以public显示的修饰。所以方法头可以不完全一样,如图所示。
发表于 2017-08-07 19:25:53 回复(4)
本题考察的是子类实现父类方法遵从“两同两小一大”

方法重写应遵循“两同两小一大”原则:

“两同”:即方法名相同,形参列表相同;

“两小“:子类方法声明抛出的异常比父类方法声明抛出的异常更小或者相等,返回值类型小于等于父类的

“一大”:子类方法的访问修饰符应比父类方法更大或者相等。


发表于 2022-03-31 19:32:05 回复(0)
实现接口中的方法是重写要求  没必须完全一样   如接口中返回值是Object  实现接口方法返回值可以是其他的
编辑于 2018-06-22 14:18:37 回复(0)
我觉得此题关键在于Java5引入的协变返回类型,指的是重写方法时允许返回原返回类型的子类,所以方法头的返回类型可以变啊。 关于访问权限修饰符,此题没说是否省略了public的写法,所以暂可把此题归结为协变返回类型的题目。
发表于 2017-08-19 13:44:22 回复(0)
接口:方法默认修饰符默认是public 
抽象类:方法默认修饰符是default
如有错误,敬请指正
发表于 2017-08-07 11:59:23 回复(0)
这个题是错的吧,如果是abstract方法在接口中的修饰符是default,在实现该方法的子类中方法的修饰符一定是public
发表于 2017-08-05 17:04:43 回复(3)
啦咔咔
发表于 2017-07-28 15:33:05 回复(0)
方法包括方法头和方法体,实现接口的方法和覆盖父类方法是一样的 ,小小大,但是接口的实现方法必须是public,所以方法头不一定是一样的,只要在范围之内就行,在这主要是返回值,而且参数名我也可以变啊,不一样就行啊
发表于 2022-06-10 10:48:51 回复(0)
方法头:包括修饰符(可大),返回值(可小)、方法名

方法名与参数相同时:
修饰符:可以大于等于父类方法的访问权限,而非必须一致

返回值:可以小于父类方法返回的类型,而非必须一致
发表于 2019-09-14 18:19:32 回复(0)
实际上这道题考查的是两同两小一大原则: 方法名相同,参数类型相同 子类返回类型小于等于父类方法返回类型, 子类抛出异常小于等于父类方法抛出异常, 子类访问权限大于等于父类方法访问权限。 补充两点: 1. 本题是问关于接口,实现接口方法的约束和子类覆盖父类方法的约束基本上是一样的,但接口有一点特殊的地方是接口的方法默认是public abstract,所以在实现接口方法的时候,也必须使用public 2. “子类抛出异常小于等于父类方法抛出异常”——不管父类抛出何种异常,子类可以不抛出任何异常。同样的,如果接口方法定义抛出某种异常,在实现这个接口方法的时候,可以抛出小于等于接口方法异常的异常,也可以不抛出任何异常。
编辑于 2017-12-20 08:39:17 回复(0)
不知道哎
发表于 2017-07-27 16:40:02 回复(0)
1. 理清概念
方法包含 方法头和方法体 。
方法体不多说,都知道。除掉方法体剩下的都是方法头。

还有个方法签名。
 The method name and the parameter list together constitute the method signature。
方法名称和参数列表构成了方法签名。

2.看题目错在哪。返回值也是可以不一样的,可以返回子类。

编辑于 2022-09-20 17:11:29 回复(0)
接口中的方法默认是public的,但是在类中默认是default的所以方法头不能相同(当接口中是默认时,此时类应该添加public)。
发表于 2022-03-16 14:38:41 回复(0)
实际上这道题考查的是两同两小一大原则: 方法名相同,参数类型相同 子类返回类型小于等于父类方法返回类型, 子类抛出异常小于等于父类方法抛出异常, 子类访问权限大于等于父类方法访问权限。
发表于 2021-12-07 18:41:54 回复(0)
方法头由 ( 修饰符,返回值,方法名,定义域修饰符(internal), 参数列表,方法Attribute )组成
发表于 2020-03-03 16:37:22 回复(0)