java基础之抽象类和接口的区别

抽象类和接口的区别
  A:成员区别
    抽象类:
      成员变量:可以是变量,也可以是常量
      构造方法:有
      成员方法:可以是抽象方法,也可以是非抽象方法
    接口:
      成员变量:只能是静态常量(不写修饰符,默认是 static final)
      构造方法:无
      成员方法:只能是抽象方法
  B:关系区别
    类与类:继承关系,只能单继承,可以多层继承
    类与接口:实现关系,可以多实现
    接口与接口:继承关系,可以多继承
  C:设计理念区别
    抽象类 被继承体现为 "is a" 表明子类是抽象父类这一类事物的一种
    接口 被实现体现为 "like a" 表明接口是类的扩展功能
    举例:
    狗 动物 狗是动物
    狗 跳高 狗会跳高

猜你喜欢

转载自www.cnblogs.com/Alex-zqzy/p/9088815.html