to jragon(杰根):
   你好,请你举个例子说说好吗,上面说的好抽象。不明白。

解决方案 »

  1.   

    关于接口和抽象类的讨论很多了, CSDN也有一些经典的贴子关于此问题的. 在网上找一找就会有很多答案的
      

  2.   

    我已经在网上找过了,都是一些理论解析。这样好难明白。除非用到项目上,才理解。所以我问问你们,在项目上如何用到interface。
      

  3.   

    比如你要得到一个桌子,但根据实际情况不同,你的桌子可能是不同的,于是你就这样做。
    interface iTable Class TableA implements iTableClass TableB implements iTable在做一个工厂类,由工厂类factory的getTable来实现实例化那个类。public iTable getTable(){}
      

  4.   

    请大家看以下的代码,A部分是接口实现,B部分是普通类实现,请问,如果用A部分实现,好处在哪里???????
    -----------------------------A-------------------------------------------
      //生物接口
      interface Biology{
       abstract void study();//是否会学习
      }
      //人会学习JAVA
      class NormalMan implements Biology{
          public void study(){
              System.out.println("man study java");
          }
      }
      //马不会学JAVA
      class NormalHorse implements Biology{
          public void study(){
              System.out.println("horse not study java");
          }
      }
    ------------------------------B----------------------------------------------
      publec class Biology{
         public Biology(String type) {
           study(type)
         }
         public void study(String type){
           if ("Man".equals(type))
              System.out.println("man study java");
           if ("Horse".equals(type))
              System.out.println("horse not study java");
         }
      }
      

  5.   

    看看sun 的集合框架的源代码,你就知道 接口和抽象类是怎么用的了!
      

  6.   

    DAO的实现
    隐藏底层数据库操作
      

  7.   

    这个问题几乎每个初学JAVA的人,都迷惑过,我之前也提过这个问题,但无论前辈们解释得再生动,再详细,我也理解不了。到我真正做了项目,用到了一比较复杂的模式时,接口的好处就一目了然了,单从你举的那个A B的例子,我真的看不到用了接口有什么好处。到复杂应用时,接口的好处就出来了。
      

  8.   

    对于你的例子考虑增加一个think()函数,难道你又在那个函数里遍布if-else?一旦需求变化了,你就去修改所有的If-else?如果将来的需求不仅仅是type起作用呢?你再去给函数加上其他参数,然后再对所有的类似函数加上嵌套的IF-else?赫赫,想到这我就已经觉得是维护的噩梦了。