题目
下列哪一项关于Default方法的叙述是错误的?A. 可以重新将Default方法声明为抽象方法B. 此方法对日后程序扩充和兼容有帮助C. Default方法可以继承D. 不可以重新定义这个方法
下列哪一项关于Default方法的叙述是错误的?
A. 可以重新将Default方法声明为抽象方法
B. 此方法对日后程序扩充和兼容有帮助
C. Default方法可以继承
D. 不可以重新定义这个方法
题目解答
答案
A. 可以重新将Default方法声明为抽象方法
解析
本题考查Java中接口默认方法(Default方法)的相关知识。解题思路是对每个选项所描述的关于Default方法的特性进行分析,判断其正确性。
选项A
在Java中,接口里的Default方法是有方法体的具体实现方法。而抽象方法是没有方法体的,需要子类去实现。一旦一个方法被声明为Default方法,就意味着它已经有了具体的实现,不能再重新将其声明为抽象方法。因为这违背了Default方法的定义,所以选项A的叙述是错误的。
选项B
Default方法允许在接口中添加新的方法,而不需要修改实现该接口的所有类。这样在日后对程序进行扩充时,只需要在接口中添加Default方法,实现类就可以直接使用,无需对每个实现类进行修改,对程序的扩充和兼容有很大的帮助,所以选项B的叙述是正确的。
选项C
当一个类实现了包含Default方法的接口时,这个类可以继承该Default方法,并且可以选择是否重写它。也就是说,Default方法可以被实现类继承,所以选项C的叙述是正确的。
选项D
虽然Default方法有默认的实现,但实现类是可以重新定义(重写)这个方法的。实现类可以根据自身的需求对Default方法进行重写,以提供不同的实现逻辑,所以选项D的叙述是正确的。