我们是否必须在实现Java接口的类中实现所有方法?
是的,必须在实现接口的类中实现所有方法,直到并且除非该类被声明为抽象类。
只有两个选择-
实现接口定义的每个方法。
将该类声明为抽象类,结果迫使您在创建任何对象之前先对该类进行子类化(并实现缺少的方法)。
类不需要在接口中实现所有方法的唯一情况是,当其继承树中的任何类已经提供了具体的(即非抽象的)方法实现时,子类就没有义务重新实现这些方法。子类可能根本不实现接口,而只是方法签名被匹配。
示例
interface MyInterface {void m() throws NullPointerException;
}
class SuperClass {
//SuperClass类未实现MyInterface接口
public void m() {
System.out.println("Inside SuperClass m()");
}
}
class SubClass extends SuperClass implements MyInterface {
}
public class Program {
public static void main(String args[]) {
SubClass s = new SubClass();
s.m();
}
}
输出结果
Inside SuperClass m()
上面的代码显示了一个具体的类SubClass,该类声明其实现了接口MyInterface,但未实现m()
该接口的方法。该代码是合法的,因为它是父类的SuperClass实现m()
与接口中的方法同名的方法。
以上是 我们是否必须在实现Java接口的类中实现所有方法? 的全部内容, 来源链接: utcz.com/z/331222.html