教材内容总结

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周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  9. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. treesoft,couchDB,

    下载 docker 镜像:docker pull docker.io/lu566/treesoft:1.0启动容器:docker run -d -p 127.0.0.1:18080:8080 dock ...

  2. mysql 外键约束及表关联

    一.MYSQL中的约束 1.主键:primary key 唯一非空的特性并且可以优化查询速度 2.外键:foreign key 外键的作用保证2个或2个以上的数据表的数据一致性和完整性 3.唯一:un ...

  3. docker镜像导入导出

    1.使用 save命令将 镜像保存为文件docker save -o  自定义文件名.tar  已存在的镜像名 2.使用load命令将镜像文件保存到本地仓库docker load -i 自定义文件名. ...

  4. MySQL DATE_FORMAT函数使用

    DATE_FORMAT函数 一.定义和用法 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 二.语法 DATE_FORMAT(date,format)date 参数是合法的日期. ...

  5. request内置对象

    request内置对象(JSP九大内置对象之一)简述:内置对象即已在容器内部创建完成,可以直接调用的对象.容器在接收到客户端的请求后会创建一个对象用于处理请求信息,该对象就是内置对象(属于“javax ...

  6. vue中$refs、$slot、$nextTick相关的语法

    Vue 实例还暴露了一些有用的实例属性与方法.它们都有前缀 $,以便与用户定义的属性区分开来 1.$data和$el var data = { a: 1 } var vm = new Vue({ el ...

  7. 潜在风险的频次vs潜在风险的严重影响的程度(以及恢复)

    潜在风险的频次vs潜在风险的严重影响的程度 海量数据的存储对于海量数据,不要存在这样的侥幸心理,一定要好好设计你的系统.把数据增长后存储的影响降到最低.面对海量数据,鸡肋的设计必然会导致系统的崩溃. ...

  8. How to use draggable attribute?怎样使用拖拽属性代码分享

    6.7 Drag and dropSupport: dragndropChrome for Android NoneChrome 4+iOS Safari 11.0+UC Browser for An ...

  9. UML作业第一次:UML用例图绘制

    UML第一次作业 一. 用例图:用例图(usecase diagram)是UML用于描述软件功能的图形.用例图包括用例.参与者及其关系,用例图也可以包括注释和约束.程序员要画时序图啥的用其他的比较麻烦 ...

  10. CentOS 搭建git服务

    git服务器的搭建是非常简单的. 1. 安装git yum install git 2. 创建用户git groupadd git adduser git -g git passwd git 3. 创 ...