20175307《Java程序设计》第5周学习总结
教材内容总结
6.1 接口
1接口声明
接口使用关键字interface来进行声明
eg:interface 接口的名字
2接口体
接口体中包含常量的声明和抽象方法两部分(没有变量)
注意一定的要求:接口体中只有抽象方法,而且是public
接口体中常量一定是public,而且是static常量
常量的(public static,final)和方法中的(public abstract)完全可以省略
全加上的顺序是public final static int a
6.2 实现接口
1.在java中,一个类需要在类声明中使用关键字inplements声明该类实现一个接口,如果要实现多个,中间用逗号隔开
2.如果一个非抽象类实现了某个接口,那个该类必须重写接口中的所有方法,,,不仅去掉abstract,而且要加上public,(不能降低访问权限)
3如果一个类实现了一个类,但是没有重写所有接口中的方法,那么这和类必须是抽象类。 抽象类既可以重写接口中的方法,也可以直接继承
4程序可以用接口名访问接口中的常量,,,,如果一个类实现了接口,那么在该类中可以直接使用接口中的常量
5定义接口的同时,如果在接口的前面加上public,那么这样的接口就是一个public接口,可以被任何一个类实现,,,如果不加public修饰,那么就是友好接口,只能被同一包中的类实现
6如果父类实现了某个接口,那么子类自然实现了这个接口,不用再使用inplements声明
7接口也可以被继承,即一个接口是另一个接口的子接口,由于接口中的常量和方法都是public,所以子接口将继承父类中的所有常量和方法
8java提供的接口都在相应的包中,java不仅提供相应的类,也提供相应的包,都可以通过import语句来进行引用
eg:import java.to.*;不仅引入了java。to包中的类,也引入了包中的接口
6.3理解接口
1. 接口的思想在于他可以要求某些类具有相同名字的方法,但是方法具体的·1实现内容可以不同
6.4接口回调
1.接口属于引用型变量,接口变量中可以存放实现该接口的类的实例的引用;
2.在java语言中,接口回调指的是可以把实现某一个接口的类创建的对象的引用赋值给该接口声明的变量,那么该接口变量就可以调用被类实现的接口的方法。其实实际上,当接口变量调用被类实现的接口的方法的时候,其实就是通知相应的对象调用这个方法。
6.6接口与多态
由接口产生的多态主要是指不同的类在实现同一接口时,可能会有不同的实现方式,那么接口变量在回调接口方法的时候就可能产生不同的形态
6.7接口参数,
如果一个方法的参数是接口类型,那么可以将任何实现该接口的类的实例传给这个参数,之后就可以在这个方法中通过接口的变量调用实现接口类的重写的方法或新增的方法
6.8 abstract类和接口的比较
对于选择的问题,如果需要从父类继承一些变量或者是继承一些重要的非abstract方法,就可以考虑使用abstract方法,如果某个问题不需要继承,那只需要若干个类给出abstract方法的实现,那么就可以考虑使用接口
6,9面向接口编程
我们应该怎么建立正确的接口呢?
每当用户有新的需求的时候,就会导致修改类的某部分代码,那么就应当将这部分代码从类中分割出去,使他和程序中某些代码是松耦合关系,即将每种可能的变化对应的交给实现接口的类,(或是抽象类的子类)去负责完成。
在使用多态设计程序的同时,要熟练使用接口回调技术,以及面向接口编程思想,以便体现程序设计所提倡的开闭原则
解决问题
上传代码时,遇见了一些问题
**Could not resolve host: gitee.com**
我在百度上查询并实践了一下,但是问题并没有解决,所以我采取的办法是直接删除我在liunx上项目文件夹,并从windows直接拷贝项目文件夹。

20175307《Java程序设计》第5周学习总结的更多相关文章
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- SHA256的总结与Go实现
SHA256在线验证链接:SHA256 online hash function My Golang github源码 :https://github.com/kumataahh/Golang-too ...
- nanoPI编译内核的一些record
我用的nanopi型号为 nanopi NEO,本来想拿来跑一跑需要usb串口读数据的golang程序,NEO居然没有该内核驱动的配置. 官方wiki:http://wiki.friendlyarm. ...
- 自学stm32就要记住入了这个“大坑”要耐得住寂寞
在现在的MCU使用量中,STM32绝对是翘楚!因为现在使用STM32开发产品的公司非常多,这主要得益于ST公司对自家MCU的大力推广,而且ST对自己MCU也配套了一系列开发软件,也有相应的硬件开发板供 ...
- 现代IM系统中消息推送和存储架构的实现
现代IM系统中消息推送和存储架构的实现-云栖社区-阿里云 https://yq.aliyun.com/articles/253242
- RxSwift 介绍
RxSwift 介绍 中文文档 https://beeth0ven.github.io/RxSwift-Chinese-Documentation/ https://medium.com/@DianQ ...
- MongoDB Schema Design
Normalization: ...... Relationships: One-to-One relationship: 1-to-many: many-to-many:
- Vue项目在开发环境跨域和生成环境部署跨域问题解决
一.在dev环境下的跨域问题解决1.项目使用的是axios请求网络,将baseUrl修改为/api (这里是使用webpack提供的代理功能将/api代理成目标接口host) axios.defaul ...
- (转)Pycharm在Ubuntu 16.04 系统中tensorflow导入报错
今天下午在配置pycharm时一直出现tensorflow不能导入的错误,如下图所示: 通过以下步骤可以解决问题: 步骤一: 1)在pycharm安装目录下,进入bin目录(一般情况下我们下载解压py ...
- Java 基础 多线程进阶(锁,线程安全)
一,前言 前面我们已经对线程和线程池有一定的了解,但是只要说到多线程,肯定需要考虑线程安全等问题.接下来我们就来好好聊聊这些问题. 二,线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段 ...
- leafLet入门教程兼leafLet API中文文档参考
英文文档参考:https://leafletjs.com/reference-1.3.4.html#popup 博客参考:https://blog.csdn.net/qq_36595013/artic ...