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

接口和抽象类的区别?

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

接口

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

抽象类

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

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

相关推荐
twj_one19 小时前
Arthas使用
java
lizz3120 小时前
C++模板编程:从入门到精通
java·开发语言·c++
shoubepatien20 小时前
JAVA -- 05
java·开发语言
寰天柚子20 小时前
Java并发编程中的线程安全问题与解决方案全解析
java·开发语言·python
沐知全栈开发20 小时前
Bootstrap 下拉菜单:设计与实现指南
开发语言
memgLIFE20 小时前
Springboot 分层结构
java·spring boot·spring
shoubepatien21 小时前
JAVA -- 08
java·后端·intellij-idea
kong790692821 小时前
Java新特性-(二)Java基础语法
java·新特性·java 基础语法
yangminlei21 小时前
springboot pom.xml配置文件详细解析
java·spring boot·后端
Evand J21 小时前
【MATLAB例程】多锚点RSSI定位和基站选择方法,基于GDOP、基站距离等因素。以Wi-Fi定位为例,附下载链接
开发语言·matlab·定位·gdop·rssi