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

接口和抽象类的区别?

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

接口

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

抽象类

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

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

相关推荐
Aerkui7 分钟前
Python列表(List)深度解析
开发语言·python
啊阿狸不会拉杆10 分钟前
第二十章:Python-Matplotlib库实现函数可视化
开发语言·python·matplotlib
欧宸雅14 分钟前
HTML语言的空值合并
开发语言·后端·golang
nlog3n29 分钟前
Java外观模式详解
java·开发语言·外观模式
uhakadotcom33 分钟前
图像识别中的三大神经网络:Inception、ResNet和VGG
算法·面试·github
方瑾瑜38 分钟前
Visual Basic语言的物联网
开发语言·后端·golang
uhakadotcom40 分钟前
DeepFM算法:提升CTR预估和推荐系统的强大工具
算法·面试·github
Mryan20051 小时前
SpringBoot项目报错: 缺少 Validation
java·spring boot
无名之逆1 小时前
[特殊字符] Hyperlane 框架:高性能、灵活、易用的 Rust 微服务解决方案
运维·服务器·开发语言·数据库·后端·微服务·rust
SnXJi_1 小时前
开源赋能,双驱协同:纷析云财务与进销存软件助力企业数字化转型
java·gitee·开源·开源软件