33.接口和抽象类的区别
时间: 2023-09-28 15:06:26 浏览: 46
接口和抽象类的区别主要有以下几点:
1. 方法实现:接口中的所有方法都是抽象的,只能定义方法而不能实现;而抽象类可以定义抽象方法,也可以实现方法。
2. 继承和实现:抽象类需要被子类继承,而接口需要被类实现。一个类只能继承一个抽象类,但可以实现多个接口。
3. 成员变量和方法:接口中的成员变量都是公共的静态常量,而抽象类中的成员变量可以是普通变量。接口中的方法都是公共抽象的,而抽象类可以有抽象方法也可以有普通方法。
4. 抽象方法和抽象类:抽象方法只能声明而不能实现,而抽象类可以有抽象方法也可以没有。
5. 实例化:抽象类和接口都不能直接实例化,需要通过子类或实现类来实例化。
综上所述,接口强调的是功能和能力,只能定义抽象方法和静态常量;而抽象类强调的是所属关系,可以定义抽象方法和普通方法,也可以有成员变量。
#### 引用[.reference_title]
- *1* [接口和抽象类有什么区别](https://blog.csdn.net/weixin_33953384/article/details/91866798)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [接口与抽象类的区别](https://blog.csdn.net/Rowley123456/article/details/109020901)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [接口和抽象类的区别](https://blog.csdn.net/qq_58772217/article/details/121542021)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]