抽象类与接口的区别

1、抽象类用abstract定义,抽象类不能被实例化,抽象类中可以包含方法的定义,也可以包含方法的实现;

接口用interface定义,接口不能被实例化,接口中只可以包含常量的定义和方法的定义。接口也是一种特殊的抽象类。


2、使用方式的不同

      抽象类通过继承方式(extends)使用,一个子类只能继承一个抽象类,在子类中需要实现抽象类中的所有抽象方法;

     接口通过实现方式(implements)使用,一个子类可以实现多个接口,在实现类中需要将接口中的所有方法实现(否则,要定义成抽象类)。


3、设计理念不同

      抽象类表示“is a”的关系;接口表示“like a”的关系。


4、优先使用接口;多用组合,少用继承。

发布了26 篇原创文章 · 获赞 9 · 访问量 24万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章