如下
interface CommonInterface
{
    public void common1();
    public void common2();
}abstract class AbstractCommon implements CommonInterface
{
    public void common1(){        
    }
}class Common extends AbstractCommon implements CommonInterface{    @Override
    public void common2() {
    }    
}
这样就相当于Common 实现了两次CommonInterface,为什么要这么写?这么写跟
class Common extends AbstractCommon {    @Override
    public void common2() {
    }    
}
有区别没?

解决方案 »

  1.   

    什么意思?这算什么技巧?
    这个代码是Android的RIL中用的,我觉得没用,但是又看不出为什么这么写
      

  2.   

    没啥区别,非要找个理由可能就是可以直接看出Common实现了什么接口,而不用再顺着找到AbstractCommon 再看出实现了什么接口了吧
      

  3.   

    我在java JDK 中也发现了这个现象:类AbstractList<E> 实现了Iterable接口 ArrayList<E>继承了类AbstractList<E>同时也实现了Iterable接口 这个"技巧"问问JDK吧
      

  4.   

    同时想问下研究JDK 不爱学java web 能找到java 开发的工作不,或者说工作机会大不?还望大家交流.
      

  5.   

    其实我也有过类似的疑问,不过后来看代码多了就觉得习惯了。我想也许是因为那个abstract class和interface中间继承了很多层,维护代码的时候很不容易掌握代码结构吧。