比如Dubbo编解码Codec2涉及的类图如上所示,DubboCodec既继承ExchangeCodec,又实现了Codec2接口,然而ExchangeCodec本身的抽象基类AbstractCodec已经实现了Codec2接口。
public class DubboCodec extends ExchangeCodec implements Codec2 {
}
这样做的目的是什么呢?DubboCodec并没有对Codec2中的接口进行重写。
比如Dubbo编解码Codec2涉及的类图如上所示,DubboCodec既继承ExchangeCodec,又实现了Codec2接口,然而ExchangeCodec本身的抽象基类AbstractCodec已经实现了Codec2接口。
public class DubboCodec extends ExchangeCodec implements Codec2 {
}
这样做的目的是什么呢?DubboCodec并没有对Codec2中的接口进行重写。
在com.alibaba.dubbo.rpc.protocol.dubbo.DubboCodec
标注 implements Codec2
确实可以增加可读性. 但是去掉也不会影响. 真正的实现方法还父类中 最开始的实现是com.alibaba.dubbo.remoting.transport.codec.TransportCodec
层层往下
15 回答6.9k 阅读
2 回答3.3k 阅读✓ 已解决
3 回答7k 阅读✓ 已解决
5 回答4.7k 阅读
3 回答5.2k 阅读
4 回答2.4k 阅读
2 回答2.3k 阅读✓ 已解决
类似于
ArrayList
继承了AbstractList
又实现了List
,主要提高可读性,可以直接看出实现了某个接口