现在的位置: 首页 > 综合 > 正文

抽象类和接口的最佳实践

2013年10月13日 ⁄ 综合 ⁄ 共 618字 ⁄ 字号 评论关闭

     先谈谈我脑子里所了解的知识,然后补充下刚才学到的。
     参考之前的一篇http://blog.csdn.net/whuslei/article/details/6366185
     接口(interface)
1、接口中的所有方法都是 public abstract的,所有的变量(如果有)都是public static final型的,且必须给初值
2、一个类可以实现多个接口,所谓"实现一个接口",就必须实现接口里的所有方法
3、一个接口可以继承多个接口,即"接口可以实现多继承"
      
     抽象类(abstract)
1、不都是抽象方法!可以包含非抽象方法,即可以包含某些方法的具体实现。
2、可以有数据成员,没有限定!默认是friendly型
3、继承它的子类,如果实现了它的抽象方法,则该类不是抽象类!反之,该类依然是抽象类
4、class前面必须用abstarct修饰

     很明显,接口和抽象类各有各的优势和劣势,所以就引申出一个问题,怎么用他们才比较合理?

     java api中采用了一种设计模式,暂且叫做"缺省适配模式":申明类型的工作仍然由Java接口承担,同时给出一个抽象类,实现了这个接口。而同属于这个抽象类型的具体类可以实现这个接口,也可以继承这个抽象类。也就是在这个层次结构中,接口处于顶层,紧接着就是抽象类。

     参考http://blog.csdn.net/sunboard/article/details/3831823

抱歉!评论已关闭.