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

接口和抽象类的区别?

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

接口

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

抽象类

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

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

相关推荐
qq_333120972 分钟前
头歌答案--爬虫实战
java·前端·爬虫
TT哇4 分钟前
【项目】从“本地能跑”到“生产级部署”:Java + Docker 自动化部署深度复盘
java·docker·自动化
摇滚侠5 分钟前
JAVA 项目教程《苍穹外卖-11》,微信小程序项目,前后端分离,从开发到部署
java·开发语言·微信小程序
muls16 分钟前
java面试宝典
java·linux·服务器·网络·算法·操作系统
执笔论英雄6 分钟前
【vllm】vllm根据并发学习调度
java·学习·vllm
瑶总迷弟7 分钟前
Python入门第6章:字典(键值对数据结构)
java·数据结构·python
不会写DN10 分钟前
PHP 中处理图像的利器 GD库
开发语言·php
o丁二黄o20 分钟前
【MyBatisPlus】MyBatisPlus介绍与使用
java
_MyFavorite_23 分钟前
JAVA重点基础、进阶知识及易错点总结(14)字节流 & 字符流
java·开发语言·python
kyriewen24 分钟前
MutationObserver:DOM界的“卧底”,暗中观察每个风吹草动
前端·javascript·面试