接口和抽象类(超详细)
首先先来说一下抽象类
要想了解抽象类先看一下抽象方法,抽象方法是一个特殊的方法,他只有声明没有具体的实现。抽象方法用abstract关键字修饰。有抽象方法的类就就是抽象类,抽象类也有abstract关键字修饰。
需要注意的是,
1,抽象类的存在就是为了继承,所以用private方法来修饰抽象方法。
2,包含抽象方法的类叫做抽象类,但并不是抽象类里只有抽象方法。
3,子类继承了抽象类必须实现父类的抽象方法,如果没有实现,那么子类也将会是抽象类。
4,抽象类不能用来创建对象。
再来看一下接口:
接口用关键字interface来实现,接口指的是调用别人的方法或者函数。接口可以看出java是一种对行为的抽象。
接口需要注意的是:
1,接口中可以有变量和方法,并且接口中的变量会被隐式的被public static final来修饰(并且只能用public static final来修饰),方法会隐式的被public abstract来修饰,并且只能用来public abstract来修饰。也就是说接口中所有的方法不能有实现方法,也就是说接口中的方法都是抽象方法。
2,如果要写这个接口的实现方法,需要定义一个实现类,并且通过implements来实现接口中的方法。
重点来了,看完上面就可以看出接口和抽象类的区别了。
主要区别:
1)抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。
2)设计层面不同,抽象类作为很多子类的父类,它是一种模板式设计。而接口是一种行为规范,它是一种辐射式设计。
3)抽象类是一个类,而接口不是类。
接口和抽象类(超详细)相关推荐
- 配置node服务器并且链接微信公众号接口配置(超详细)
配置node服务器 在购买好服务器后,用Xshell链接到服务器. 1.安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.3 ...
- C#接口(Interface)小结(超详细,你值得拥有!!!)
前言:通过阅读本篇文章能够深入的理解C#中的接口以及接口的实现,推荐刚入门的小伙伴收藏嗷!!! 目录: 一.接口的概念 二.接口的作用 三.接口的特性 四.接口的声明 五.接口的两种实现方式 1.隐式 ...
- 最新出炉 全网最牛最新的pytest+requests+Python3.7+yaml+Allure+Jenkins+docker实现接口自动化测试【超详细】从0到封装
接口自动化测试框架(用例自动生成) 项目说明 本框架是一套基于pytest+requests+Python3.7+yaml+Allure+Jenkins+docker而设计的数据驱动接口自动化测试框架 ...
- Python如何定义接口和抽象类
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...
- Http调用第三方接口的两种方式实例《超详细!!!》***
Http调用第三方接口的两种方式<超详细!!!>* 最近在公司做一些调用第三方接口的工作,查阅了一部分的资料和向前辈以及朋友请教,完成了第三方接口的调用,其实主要是通过第三方提供的文档,完 ...
- 超详细——接口测试总结与分享 (51Testing软件测试网采编)
超详细--接口测试总结与分享 发表于:2017-11-29 10:36 作者:米阳MeYoung 来源:51Testing软件测试网采编 字体:大 中 小 | 上一篇 | 下一篇 |我要投稿 | ...
- 接口与抽象类的区别 详细总结
------------------------- 在这里我总结了五点区别 ----------------------- 区别一: 抽象类中可以 ...
- 超详细 Spring Boot 知识清单
2019独角兽企业重金招聘Python工程师标准>>> 超详细 Spring Boot 知识清单 在过去两三年的Spring生态圈,最让人兴奋的莫过于Spring Boot框架.或许 ...
- 给你一份超详细 Spring Boot 知识清单
转载自 给你一份超详细 Spring Boot 知识清单 在过去两三年的Spring生态圈,最让人兴奋的莫过于Spring Boot框架.或许从命名上就能看出这个框架的设计初衷:快速的启动Spri ...
最新文章
- Spring scope解惑
- command not found: ls_内饰更加奢华 新款雷克萨斯LS将于广州车展亮相
- 1.3.3 错题整理(组成原理)
- python删除列表中字符串_python - 删除字符串中的字符列表
- xcode中工程引用设置
- php window.onload,tp_window.onload+相应操作
- mysql 多机房灾备,TFS多机房容灾策略
- C++再议构造函数及复制构造函数深度复制
- Python并行实例
- 《Gradle权威指南》--Android Gradle多项目构建
- WebService、RMI、RPC、XML-RPC、JSON-RPC、SOAP、REST(rest-api、restful)等web服务实现方案概念...
- Abp vNext 自定义 Ef Core 仓储引发异常
- Total Defense Anti-Virus – 免费6个月
- VS连接SQL ,Windows登录SQL 语句
- 仙剑3外传(问情篇)Win7(32/64位)不能运行的完全解决办法【转载】
- ‘The INSERT statement conflicted with the FOREIGN KEY constraint “FK_TourismReservation_Users“. The
- 开源版本_开源绘画应用 Pinta 在 5 年后迎来新版本 | Linux 中国
- 计算机应用研究抄袭撤稿,衢州畜牧兽医高级职称评审北大核心期刊书评发表
- python中time什么意思_python中time包是什么?
- 能不吃最好别吃:一个食品专业本科生的自白