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

接口和抽象类的区别?

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

接口

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

抽象类

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

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

相关推荐
文丑颜不良啊2 小时前
LeetCode2761~2780题目解析
java·leetcode
IT枫斗者枫哥2 小时前
子线程断言失败,JUnit 为什么还显示通过?
java·后端
码农小河664 小时前
基于PHP的电商后台蜜罐系统
开发语言·php
starzy19904 小时前
深入理解Scala柯里化函数:函数链式变换
开发语言·scala
ShineWinsu4 小时前
对于Qt:QTreeWidget常见属性以及QTreeWidgetItem类的解析
开发语言·c++·qt·gui·客户端·多叉树·qtreewidget
落羽的落羽5 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
考虑考虑5 小时前
JDK27中的Set.ofLazy
java·后端·java ee
文丑颜不良啊5 小时前
LeetCode2841~2860题目解析
java·leetcode
小南家的青蛙5 小时前
Tomcat与Jetty深度对比
java·tomcat·jetty
总要学点什么5 小时前
第108篇:三维特效-图片轨迹线效果——把贴图滚成一串箭头,想用它的本色反而整条消失
开发语言·javascript·ecmascript·gis·webgl·材质·cesium