20175205 2018-2019-2 《Java程序设计》第五周学习总结
20175205 2018-2019-2 《Java程序设计》第五周学习总结
教材学习内容总结

- 接口:使用关键字interface定义接口
- 接口声明:interface 接口名
- 接口体:接口体中均是抽象方法(可省略public final static abstract)
- 实现接口
- 类实现接口:用关键字implements声明该类实现一个或多个接口
- 重写接口中的方法
- 若非抽象类实现该接口,则必须重写所有方法,并且加public(给出具体行为)
- 若抽象类实现该接口,可直接拥有其方法
- 接口中的细节说明
- 若父类实现某个接口,则子类自然实现该接口
- 接口的UML图:虚线,起始端是类,终止端是接口
- 名字层:名字是斜体,用<>修饰
- 常量层:常量名字:类型
- 方法层:方法名字(参数列表):类型
- 接口回调
- 接口也是一种数据类型,生命的变量称为接口变量
- 将实现该接口的类的对象的引用赋给该接口声明的接口变量,则接口变量就可以调用被类实现的接口方法

- 理解接口
- 抽象出重要的行为标准(和抽象方法相同)
- 可以把实现该接口的类的对象的引用赋给该接口声明的接口变量,则接口变量就可以调用被类实现的接口方法
- 接口与多态
- 接口变量在回调发方法时可能可能具有多种形态
- 接口参数:将实现该接口的类的对象的引用传给该接口参数
- abstract类与接口的比较
- 均可以有abstract方法
- 接口中只能有常量,不能有变量
- abstract类中可以有非abstract方法,接口不可以
- 若果某个问题需要继承解决,不仅需要重写父类的abstract方法,还需要继承一些变量等,则考虑abstract类
教材学习中的问题和解决过程
- 问题1:书后习题B选项'abstract'和'static'为什么不能写在一起
下列接口中标注的(A,B,C,D)中,哪两个是错误的?
interface Takecare{
protected void speakHello();
public abstract static void cry();
int f();
abstract float g();
}
- 问题1解决方案:static 是可以在没有实例的情况下调用,但标记为 abstract 后就没有实现没有实例调用。对于 Java,一个人不会凭空想出来 abstract 和 static 同时修饰的方法,因为一个 static 方法必须通过类名调用。而如果像我上面说的那样,规定一个类的子类必须有某种 static 方法,那么那个方法也必须至少一次通过子类的类名调用(可以只通过实例调用但是就没有必要声明为 static 了),这样调用时编译器就可以发现该方法不存在,就不需要父类写个 abstract 方法规定子类必须有该方法来预防错误了。
Markdown基本语法配合基本使用
之前写博客的时候都是在码云中完成,一键复制到博客里,这次学了MarkDown的基本用法,也可以直接在博客里写出格式正确的内容。
- 标题:通过#号的个数来分辨标题的类型。

- 文本强调:两个**代表加粗,一个*代表斜体,~~代表删除。

- 图片和链接:区别在一个 ! 号

- 代码
-行内代码使用两个`包住即可标识,可嵌入文字中
-代码块使用4个空格或```标识
- 引用:引用以>来表示

代码托管


感想
这周的学习任务相对来说较少,而且比较好理解,看到老师发了结对项目,所以及时利用课余时间就已经自学完成,及时巩固复习,留出部分时间充分准备项目内容,
参考资料
20175205 2018-2019-2 《Java程序设计》第五周学习总结的更多相关文章
- 201521123025<java程序设计>第五周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...
- Java程序设计第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
随机推荐
- python一些语法糖用法
@修饰符 '@'符号用作函数修饰符是python2.4新增加的功能,修饰符必须出现在函数定义前一行,不允许和函数定义在同一行.也就是说@A def f(): 是非法的. 只可以在模块或类定义层内对函数 ...
- 树形数组 java
2^k求法 int lowbit(int x) { return x&(-x); } lowbit()的返回值就是 2^k 次方的值. 基本树形数组的模板 import java.util.* ...
- Java之为何配置环境变量
一.不要问一个程序员为什么命名是基础零(^_^) 二.Java为什么跨平台: 因为有java虚拟机,一个程序的运行必然要依赖于系统,java的跨平台是因为java虚拟机jvm把不同平台编写的代码编译成 ...
- GMA Round 1 波动函数
传送门 波动函数 f(x)是一个定义在R上的偶函数,f(x)=f(2-x),当$x\in[-1,1]$时,f(x)=cos(x),则函数$g(x)=f(x)-|cos(\pi x)|$,求g(x)在[ ...
- VMware workstation --虚拟机静态ip设置
背景介绍 我在本机win10上安装VMware workstation软件,新建两台centos7虚拟机,最近在配服务,每天虚拟机重启后,ip总会变,服务配置文件又要修改,很麻烦,便需要将其ip由dh ...
- 2018-2019-1 20189210 《LInux内核原理与分析》第四周作业
第三章 这一章接触内核源代码,对内核源码进行编译和调试跟踪 一.预备知识: 内核:整个操作系统的最底层,它负责了整个硬件的驱动以及提供各种系统所需的内核功能.内核实质上是系统上面的一个文件而已,这个文 ...
- 重构file_get_contents实现一个带超时链接访问的函数
function wp_file_get_contents($url, $timeout = 30) { $context = stream_context_create(array( 'http' ...
- 华大单片机开发板HC32F030上手入门
HC32F030开发板(如下图所示)分为板载调试模块(左半部分)和MCU开发电路(右半部分).二者中间通过邮票孔相连,如果将板子从中间掰开,板载调试模块就可以当一个CMSIS-DAP的仿真器来使用.此 ...
- 关于Mysql6.0+的时区错乱问题
如果使用mysql6.0+的JDBC驱动版本的时候,有时候会出现程序时间与数据库时间相差很多个小时; 1.如果以北京时间为例,相差8个小时的情况一般是你在连接jdbc的url中没有标明system_t ...
- oracle初级语法
--select关键字第一个句型: select emp.ename,emp.sal from emp; --from 关键字后面跟 需要查询表名: select ename from emp; -- ...