一下只是个人理解,谈不上什么经验,我也是个学生,大家共同讨论一下吧。
我觉得接口就像一个模具,通过实现一个或者多个借口(也是因为在java中没有多重继承机制,用接口来弥补一下)来达到你的目的。
至于抽象类,我的理解适当你希望子类继承父类的时候需要子类必须实现这个类中的抽象方法时用到。
说的不一定很正确,希望别见笑。

解决方案 »

  1.   

    fishbob21 说的不错.
    抽象类表述的是一种类的层次关系,就象类shape的draw方法,shape有一些子类,如rect,round.
    两种东西的画法肯定是不一样的,但是shape本身还是有一些共通的东西,如属性color,方法setColor()等,这样就可以把shape做成一个抽象类,把draw方法设成抽象的.
    接口不表属层次,他比抽象类灵活,也是因为没多重继承的原因,
    抽象类表现的是一种泛化的关系,接口只规定了类的一个对外表现的统一方法.
    实践中用接口比抽象类要用的多,建议多用接口
    除非是像shape和round,rect这种关系,而且你抽象出来的公共部分,有一些共有的属性,有具体实现完全相同的方法,用抽象类,其余的用接口把
    一家之言,欢迎高手指正
      

  2.   

    谢谢各位的帮助!
        我自己又思考了一下,实际上我自己提问的时候没有想清楚. 抽象类也好,接口也罢.这些定义本身的一些使用原则不难理解.   我的困惑可能还是在对面向对象思想的理解上.对于一个具体应用系统来说,同样用java,jsp,你可以象传统的结构话的方式设计,可以不用借口,继承等面向对象的方法.但是使用面向对象的方法,自己感觉在设计结构,设计类的时候会感觉无从下手.
      

  3.   

    学到东西了.谢谢,fishbob和沉思.
      

  4.   

    EJB里面会需要用到抽象类和接口.
      

  5.   

    EJB还没学,谢谢"诺拉"提醒,以后学的时候回注意的:)