JAVA基础抽象类与接口的区别

本文主要介绍Java中抽象类和接口的区别。从成员上看,抽象类成员变量可为变量或常量,有构造方法,成员方法可抽象或非抽象;接口成员变量只能是常量,成员方法只能是抽象的。在关系上,类与类单继承,类与接口可单实现或多实现,接口与接口可单继承或多继承。设计理念上,抽象类体现‘is a’关系,接口体现‘like a’关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.抽象类和接口的区别,主要注意接口的特殊性
A:成员区别
抽象类:
成员变量:可以变量,也可以常量
构造方法:有
成员方法:可以抽象,也可以非抽象
接口:(在JDK8之后,成员方法可以用default和static修饰)
成员变量:只可以常量 //默认修饰符:public static final
成员方法:只可以抽象 //默认修饰符:public abstract

B:关系区别
类与类
继承,单继承
类与接口
实现,单实现,多实现
//多实现eg: class Son implements Father,Mother {}
接口与接口
继承,单继承,多继承
//多继承eg: interface Sister extends Father,Mother {}

C:设计理念区别
抽象类 被继承体现的是:”is a”的关系。抽象类中定义的是该继承体系的共性功能。
接口 被实现体现的是:”like a”的关系。接口中定义的是该继承体系的扩展功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值