定义一个接口
实现一个类
在接口的process方法的返回值是Object,而在实现类里的process方法的返回值是Waveform。由于是实现所以不能加Override去检测
对于继承
当把Ex1方法的返回值改成Double的时候报错。
总结如下
1、接口的实现和类的继承的Override的时候。要求方法签名相同
2、要求返回值子类或实现的返回值小于或等于父类或接口返回值的域。
第二条很拗口。。还是看例子吧。嘿嘿
public interface Processor {
String name();
Object process(Object input);
}实现一个类
class FilterAdapter implements Processor{
Filter filter;
public FilterAdapter(Filter filter){
this.filter = filter;
}
public String name() {
return filter.name();
}
public Waveform process(Object input) {
return filter.process((Waveform)input);
}
}
在接口的process方法的返回值是Object,而在实现类里的process方法的返回值是Waveform。由于是实现所以不能加Override去检测
对于继承
public class Ex1 {
public Object name(){
return "";
}
}
public class Ex2 extends Ex1{
@Override
public String name(){
return "";
}
}
当把Ex1方法的返回值改成Double的时候报错。
总结如下
1、接口的实现和类的继承的Override的时候。要求方法签名相同
2、要求返回值子类或实现的返回值小于或等于父类或接口返回值的域。
第二条很拗口。。还是看例子吧。嘿嘿
本文定义了一个名为Processor的接口,并实现了一个名为FilterAdapter的类。该类实现了接口中的process方法,将输入的对象转换为Waveform类型。文章还讨论了在Java中实现接口和继承类时的方法签名和返回值类型要求。
808

被折叠的 条评论
为什么被折叠?



