当前位置:网站首页>抽象类与接口
抽象类与接口
2022-07-29 05:09:00 【小洪正在努力】
抽象类,抽象方法,接口的总结
| 抽象方法 | 抽象类 | 接口 |
|---|---|---|
| 抽象方法没有方法体,交给子类实现 | 抽象类不一定有静态方法,有静态方法的一定是抽象类。 | JDK1.8之前:接口里只能写方法的声明,而不能写方法的具体实现 JDK1.8之后:接口可以对方法的声明写具体实现。 |
| 抽象方法修饰符 不能是private,final,static(因为需要子类实现)。 | 不能被实例化,只能被继承。 | 接口中没有构造方法,不能被实例化。 |
| 抽象方法必须定义在抽象类或接口中。 | 抽象类的子类可以不实现所有的抽象方法,但也必须作为抽象类。(抽象派生类) | 接口只能继承接口,不能继承类,接口支持多继承。 |
| 无 | 抽象类的构造器不能定义为私有。(子类构造方法会调用父类构造方法。) | 接口中定义的成员变量默认是public static final修饰的静态常量 |
| 无 | 抽象类不能定义为final,final (修饰的类不能被继承)。 | 接口中的方法: 默认是public abstract 修饰的抽象方法。 JDK1.8前不能有静态方法,不能有普通方法。 JDK1.8后可以有静态方法,可以有普通方法。 |
| 无 | 抽象类可以实现接口,可以继承具体类,也可以继承抽象类。 | 接口中定义的内部类,默认是public static 修饰的静态内部类。 |
| 无 | 抽象类中有普通方法,也可以有静态方法。 | 无 |
抽象类和接口的异同:
| 相同点 | 不同点 |
|---|---|
| ① 抽象类和接口都不能被实例化 | ① 抽象类有构造方法,接口没有构造方法 |
| ② 抽象类和接口都可以定义抽象方法,子类/实现类必须覆写这些抽象方法 | ② 抽象类可以包含普通方法,接口中只能是public abstract修饰抽象方法(Java8之后可以) |
| 无 | ③ 抽象类只能单继承,接口可以多继承 |
| 无 | ④ 抽象类可以定义各种类型的成员变量,接口中只能是public static final修饰的静态常量 |
| 无 | ⑤抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然 eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。 |
| 无 | ⑥抽象类中可以包含静态方法,接口中不能包含静态方法。 |
感谢某位不知名博主的总结,在本博客中借鉴了很多对方的总结知识点:传送门
边栏推荐
- 刷题狂魔—LeetCode之剑指offer58 - II. 左旋转字符串 详解
- 2022数学建模竞赛暑期培训讲座——最优化方法:目标规划
- The latest tank battle 2022 - full development notes-3
- 京东云金秋上云特惠进行中!扫码参与活动
- GPIO的输入输出详解
- 【剑指offer】— 详解库函数atoi以及模拟实现atoi函数
- 365 day challenge leetcode 1000 questions - day 041 two point search completion anniversary + nth magic number + online election
- Xiaobai high salary shortcut Qt development game Snake
- Best practices of JD cloud Distributed Link Tracking in financial scenarios
- osgSimplegl3例子分析
猜你喜欢

C 语言手写 QQ-AI 版

Best practices for elastic computing in the game industry

【C语言系列】—三种方法模拟实现strlen库函数的方法

OCCT学习002-----环境搭建

【C语言系列】— 不创造第三个变量,实现两个数的交换

365 day challenge leetcode 1000 questions - day 041 two point search completion anniversary + nth magic number + online election

The latest tank battle 2022 - Notes on the whole development -2

刷题狂魔—LeetCode之剑指offer58 - II. 左旋转字符串 详解

C语言宏#define命令练习

JD cloud and Forrester consulting released a hybrid cloud report that cloud Nativity has become a new engine driving industrial development
随机推荐
平行云CEO 李岩:CloudXR ,开启通往元宇宙的通道
阿里云联合鼎捷软件发布云上数字工厂解决方案,实现云MES系统本地化部署
千人规模互联网公司研发效能成功之路
CryEngine技术
Live broadcast preview | how to improve enterprise immunity through "intelligent edge security"?
vim编辑器使用
Solution: find the position of the first and last element in a sorted array (personal notes)
In depth analysis of common cross end technology stacks of app
Complete ecological map of R & D Efficiency & selection of Devops tools
Differences between texture2d and texture2dproj under webgl1.0
Cryengine Technology
C 语言手写 QQ-AI 版
C语言函数实现输出I love you
适创科技以云仿真平台,支持“中国智造”升级
C语言 一级指针
The road to success in R & D efficiency of 1000 person Internet companies
京东云联合Forrester咨询发布混合云报告 云原生成为驱动产业发展新引擎
During the appointment, the 2022 JD cloud industrial integration new product launch was launched online
一维数组练习
【剑指offer】— 详解库函数atoi以及模拟实现atoi函数