java 抽象类与接口的区别介绍

抽象类与接口的区别

抽象类

包含抽象方法的类就是抽象类,声明的语句:abstract class
必须是public protected

接口

对行为的抽象,声明语句:interface
抽象方法的修饰符:public abstract
成员变量的修饰符:public static final

语法层面

  1. 抽象类中可以包含成员方法的实现细节,而接口中只能存在抽象方法-public abstract
  2. 抽象类中的成员变量可以是各种类型,接口中的成员变量只能是public static final
  3. 抽象类中可以包含静态方法和静态代码块,接口中不能包含
  4. 一个类只能继承一个抽象类,可以实现多个接口
  5. 访问修饰符不同:抽象类方法的修饰符是public/protected;接口中方法的修饰符必须是public

设计层面

抽象类是对事物的抽象,对类的抽象;接口是对行为的抽象,描述的是一种行为规范

抽象类是对整个类进行抽象描述,包含属性和行为;接口只能对类的行为进行抽象

附上一幅图:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...