问题提出:Java是否可以在父类中包含接口的方法,从而达到其子类不必须显式实现接口方法的目的。即:Java是否必须显式实现接口的方法?
测试过程:在Java中定义一个接口Test,类Father,和类Child。其中Test接口包含方法add();FatherChild类包含和Test接口一致的方法add(),但不实现Test接口;Child类继承了Father类,实现Test接口,但不实现其方法add()。进行测试,从而达到不用在Child中显式实现接口的方法add(),而是Child类从其父类中继承到方法add(),相当于默认在Child类中实现了Test接口的方法add()。
测试结果:对于类实现某个接口,实现其方法并不必须在该类中显式实现,亦可从其父类中继承方法隐式实现。
/**
* 定义一个接口Test
* 定义一个父类Father,不实现接口,但包含接口的方法。
* 定义一个子类Child,继承父类,实现接口,但不实现接口的方法。
* 尝试是否可默认调用父类的方法,已达到实现接口方法的目的。
*/
interface Test{
public int add(int x,int y);
}
class Father{
public int add(int x,int y){
return x+y;
}
}
public class Child extends Father implements Test{
public static void main(String[] args) {
int a=3,b=5;
Child ch = new Child();
System.out.println(a+"+"+b+"的和为:"+ch.add(a,b));
}
}
// 输出结果:3+5的和为:8