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

接口和抽象类的区别?

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

接口

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

抽象类

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

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

相关推荐
RongSen3316 分钟前
Python海龟绘图(Turtle Graphics)核心函数和关键要点
开发语言·python
小贾要学习17 分钟前
【C语言】贪吃蛇小游戏
c语言·开发语言·游戏
苹果酱056728 分钟前
Golang中的runtime.LockOSThread 和 runtime.UnlockOSThread
java·vue.js·spring boot·mysql·课程设计
程序员爱钓鱼31 分钟前
defer关键字:延迟调用机制-《Go语言实战指南》
开发语言·后端·golang
免檒32 分钟前
Go内存管理
开发语言·网络·golang·操作系统
CodeWithMe35 分钟前
【Go】从0开始学习Go
开发语言·学习·golang
蒟蒻小袁36 分钟前
力扣面试150题--从前序与中序遍历序列构造二叉树
算法·leetcode·面试
张帅涛_66637 分钟前
golang 安装gin包、创建路由基本总结
开发语言·golang·gin
(・Д・)ノ1 小时前
python打卡day30
开发语言·python
我命由我123451 小时前
Android 动态申请 REQUEST_INSTALL_PACKAGES 权限问题:申请权限失败
android·java·开发语言·java-ee·android studio·android jetpack·android-studio