在Java 8中,定义一个接口`DataProcessor`,包含一个默认方法`processData()`和一个抽象方法`validateData()`。假设类`ConcreteProcessor`实现了该接口,并且没有重写`processData()`方法。以下哪项表述是准确的?
答案解析
选项A错误,因为 `processData()` 是默认方法,实现类可以不重写,所以不会编译报错。选项B错误,默认方法可以直接被实现类对象调用,也可以通过super关键字在自身方法中调用。选项C正确,因为默认方法可以被实现类对象直接调用。选项D错误,`validateData()` 是抽象方法,必须重写,否则类需要声明为抽象类,若不声明抽象类,则编译期就会报错,而不会等到运行时。需要区分编译时报错和运行时报错。所以,正确的选项是C。
正确答案:C