java抽象类 接口的区别

解决方案 »

  1.   

    基本上没有区别,都是很抽象的东西
    如果要细说,要说很多东西的......
    用就是了
    记住他们都不可以new对象就可以了 .........
      

  2.   

    区别很大的,
    抽象类就像是实现了共通部分的半成品类,
    例如如果你要做一个排序算法,
    判断大小的方法(也就是具体的算法)就可以定义成一个抽象方法,
    你的类也可以定义成抽象类。
    例如如下:
    abstract public class 排序{
      abstract int 比较(Object a, Object b);  交换(Object a, Object b){
          if (比较(args[0], args[1]) > 0){
              a -> b;
          } else {
              b -> a;
          }
      }
    }然后别人要调用你这个类的地方,只要继承这个类,然后重写“比较”方法,
    就可以得到想要比较的结果,而不用再重写那个业务里面的“交换”。真正项目里,可以把连接数据库联接,关闭连接,之类的“共通”方法写到抽象类的,
    然后每个业务逻辑的方法只要继承这个类,重写逻辑的部分就可以不用考虑打开数据库之类的东西了接口的话,
    实际上接口是一个规则,
    满足这个接口规则的类就可以有相应的行为,
    例如,很多书上介绍的动物的“叫”接口
    实现了这个接口的方法,不论你怎么实现这个“叫”方法,
    当让你叫的时候,都会能叫。
    不实现这个接口的就不能叫了
    (也就是没有附和“能叫”的这个规则,相应的可以看一下instanceof)相关的东西比较难用语言形容,楼主还是多做东西,多看代码,尤其是构架类的代码good luck
      

  3.   

    基本上没有区别,都是很抽象的东西 
    如果要细说,要说很多东西的...... 
    用就是了 
    记住他们都不可以new对象就可以了 .........
    -------------------
    在匿名内部类中,还真可以new 接口和抽象类!如果你的类方法没有任何实现,就用接口,有部分实现或者不想实例化该类,就用抽象类。
      

  4.   

    接口和抽象类都有规范的功能,但接口还可以实现java的多继承~