教材内容总结

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. 2019年5款你必须知道的顶级ASO优化工具

    仅仅几年前,品牌一直在挣扎着进入顶级榜单的时候.但随着时代的变迁,以及技术承担着市场的每一个噱头,一切都发生了变化,包括市场的传播,消费者行为和品牌影响.今天,品牌不仅仅局限于广告和促销,而且品牌的影 ...

  2. WinAPI 字符及字符串函数(5): IsCharAlpha - 是否是个字母

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  3. rabbit_mq实现分布式事务

    gitlab下载地址: 一.rabbitmq实现原理 一般在自己内部系统中建议采用lcn刚性事务来处理,面对调用第三方接口,或者夸平台语言是采用消息中间来实现补偿型事务.注意在进行补偿时需要注意重复调 ...

  4. ajax php 验证注册用户名是否存在

    1.在"test"数据库中,建立一张名为"user"的表. sql语句: create table `user`( `id` ) not null auto_i ...

  5. vue项目打包之后js文件过大怎么办?

  6. 806. Number of Lines To Write String

    806. Number of Lines To Write String 整体思路: 先得到一个res = {a : 80 , b : 10, c : 20.....的key-value对象}(目的是 ...

  7. Vue + webpack 项目实践

    Vue.js 是一款极简的 mvvm 框架,如果让我用一个词来形容它,就是 “轻·巧” .如果用一句话来描述它,它能够集众多优秀逐流的前端框架之大成,但同时保持简单易用.废话不多说,来看几个例子: & ...

  8. 误用WeakHashMap引起的死循环cpu跑满问题

    最近使用mvel 2.2.0.Final,出现一次cpu跑满,经过线程栈分析,发现是误用WeakHashMap引起的. 故障现场: 看WeakHashMap源码: public V get(Objec ...

  9. Django中怎么做图片上传--图片展示

    1.首先是html页面的form表单的三大属性,action是提交到哪,method是提交方式,enctype只要有图片上传就要加这个属性 Django框架自带csrf_token ,所以需要在前端页 ...

  10. 如何正确对用户密码进行加密?转自https://blog.csdn.net/zhouyan8603/article/details/80473083

    本文介绍了对密码哈希加密的基础知识,以及什么是正确的加密方式.还介绍了常见的密码破解方法,给出了如何避免密码被破解的思路.相信读者阅读本文后,就会对密码的加密有一个正确的认识,并对密码正确进行加密措施 ...