Java基础面试,接口和抽象类的区别?

接口和抽象类的区别?

  • 抽象类可以存在普通成员函数,而接口中只能存在public abstract 方法。
  • 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的.
  • 抽象类只能继承一个,接口可以实现多个。

接口

接口的设计目的是为了对类的行为进行约束,只进行约束,但是不对如何实现进行限制
比如一个Person的接口有打招呼的方法,小孩和大人的实现这个接口,但是打招呼的方法Person接口并没有对其进行限制

抽象类

抽象类是为了代码的复用
抽象类不能被直接实例化,而是需要被继承,由子类来提供具体实现。

抽象类包含抽象方法和非抽象方法。抽象方法是一种只有声明但没有实现的方法,它的实现由继承抽象类的子类来完成。非抽象方法则是在抽象类中已经实现了的方法,子类可以直接继承使用。

相关推荐
互联网中的一颗神经元11 分钟前
01. Go 内存管理全景架构
java·jvm·golang
萧瑟余晖12 分钟前
Java深入解析篇三十四之分布式事务
java·开发语言·分布式
CAE虚拟与现实13 分钟前
源码注解 /class 注解 / 运行时注解三者生命周期
java·开发语言
有脚就行15 分钟前
第24篇-Go-gRPC推理服务-高性能跨语言通信
开发语言·人工智能·后端·golang
码匠许师傅16 分钟前
【C++ 面试真题】聊聊 C++ 的关联容器
开发语言·c++·面试
黄敬峰17 分钟前
用 NestJS 实现待办事项接口:RESTful CRUD 与错误处理一次讲透
面试
互联网中的一颗神经元19 分钟前
02. 核心概念与术语表
java·jvm·spring
丰锋ff21 分钟前
7.2Qt中Json的操作
开发语言·qt·json
January120725 分钟前
Cassandra CQL 基本命令详解
java
蔓越莓28 分钟前
打包工具:编译器ESBuild
前端·面试