【Java】简单列举一下抽象类和接口的区别

一、区别

抽象类(abstract)接口(interface)
实现×
继承×
能实例化××
实现或继承使用的关键字extendsimplements
实现或继承的类叫做子类
可以多继承或多实现×
方法声明
方法实现×
方法的标识符punlic、private、protectedpublic
实现抽象方法
变量普通变量静态不可修改常量
作用重构设计
侧重点抽象类别抽象功能
可以有构造方法×

注意:

  1. 接口的方法也是可以实现的,但是需要加上final标识符
  2. 如果在接口中定义一个成员变量的话,默认会加上public static final

二、使用场景

接口

  1. 不关注方法的实现逻辑。只是对方法做一个规范,并不关心它的实现逻辑。
  2. 有一系列有类似功能的类。定义一个接口,统一管理这些类的实现,在使用的时候,只需要通过一个接口就可以获取这些类。

抽象类

  1. 需要抽象方法和实现方法共存
  2. 存在方法或变量需要共享

三、总结

抽象类更像一个类的树干,而接口就像一个类的树枝。
树枝可以有千万条,但是树干只能有一个。
在java中,所有的类最终都是继承与Object,我们可以用一个类来继承Object后提供给其它类继承。

posted @ 2020-05-18 12:45  程序员徐小白  阅读(77)  评论(0)    收藏  举报