《Java程序设计》 第五周学习总结
学号 20175313 《Java程序设计》第五周学习总结
教材学习内容总结
第六章主要内容
- 掌握接口的定义
- 接口声明:interface 接口名
- 接口体:包含常量的声明和抽象方法。
- 接口体中只有常量没有变量(public、final、static)
- 接口体中只有抽象方法没有普通方法(public、abstract)
- 学会用implements关键字实现接口
- 实现接口格式:class 类名 implements 接口名
- 重写接口中的方法
- 非抽象类:必须重写接口中的所有方法,并且用public修饰。
- 抽象类:可以重写也可以直接继承。
- 理解接口回调、多态
- 接口回调:把可以实现接口的对象的引用赋给接口变量,使得该接口变量可以调用被类实现的接口方法。(类似子类的对象上转型对象)
- 接口变量无法调用类中的其他的非接口方法。
- 如果一个方法的参数是接口类型,那么将实现该接口的类的对象作为实参,就可以实现接口回调。
- 接口产生的多态就是指不同的类在实现同一个接口时可能具有不同的实现方式,那么接口变量在回调接口时就可能具有多种形态。
教材学习中的问题和解决过程
- 问题1:
将下列(A、B、C、D)哪个代码替换下列程序中的【代码】不会导致编译错误。
A、public int f(){return 100+M;}
B、int f(){return 100;}
C、public double f(){return 2.6;}
D、public abstract int f();
interface Com{
int M = 200;
int f();
}
class ImpCom implements Com{
【代码】
}
问题1理解情况:
- 接口中的抽象方法默认是public类,类在重写接口方法时不仅要去掉abstract修饰符,给出方法体,而且方法的访问权限一定要用public来修饰。
- 对于非抽象类实现接口,必须重写接口中的所有方法。
问题2:课后编程题。
问题2解决方案:
- Animal1.java
interface Animal1{
void cry();
String getAnimalName();
}
- Dog1.java
class Dog1 implements Animal1{
public void cry(){
System.out.println("汪汪汪……");
}
public String getAnimalName(){
return "Dog";
}
}
- Cat1.java
class Cat1 implements Animal1{
public void cry(){
System.out.println("喵喵喵……");
}
public String getAnimalName(){
return "Cat";
}
}
- Simulator.java
class Simulator1{
void playSound(Animal1 animal){
animal.cry();
System.out.println(animal.getAnimalName());
}
}
- ex4.java
public class ex4{
public static void main(String[] args) {
//Animal1 an = new Dog1();
//Animal1 ani = new Cat1();
Simulator1 sim = new Simulator1();
sim.playSound(new Dog1());
sim.playSound(new Cat1()); }
}
运行结果截图:
代码托管
(https://gitee.com/xiannvyeye/test)


心得体会
第六章的内容也较少,有了上一周的教训,我周二就开始看了,时间上都还比较充裕,看的也比较透彻。我觉得这周的学习质量还是挺高的。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 13/13 | 1/4 | 23/23 | |
| 第二周 | 317/330 | 1/5 | 22/45 | |
| 第三周 | 703/1044 | 1/6 | 31/76 | |
| 第四周 | 1263/2094 | 2/8 | 18/84 | |
| 第五周 | 1263/2094 | 3/11 | 18/84 |
计划学习时间:23小时
实际学习时间:24小时
改进情况:合理安排时间,充分利用碎片时间。
参考资料
《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源代 ...
- 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程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
- 20175313 张黎仙《Java程序设计》第九周学习总结
目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...
随机推荐
- C#跑马灯,图片滚动,后台获取图片地址。动态绑定图片,imag显示文字
下面附下载地址. http://download.csdn.net/download/njxiaogui/10002058 1.跑马灯效果,图片连续循环滚动,图片下面并可附文字描述,图片是从数据库中获 ...
- python 信息同时输出到控制台与文件
python编程中,往往需要将结果用print等输出,如果希望输出既可以显示到IDE的屏幕上,也能存到文件中(如txt)中,该怎么办呢? 方法1 可通过日志logging模块输出信息到文件或屏幕.但可 ...
- 数据类型表(DELPHI、C++)
delphi整型数据表 Integer -2147483648..2147483647 signed 32-bit Cardinal 0..4294967295 unsigned 32-bit Sho ...
- dom4j 简单使用
1,需要用到dom4j的jar包.为了打开xml方便,设计一个简单的封装类. package cn.com.gtmc.glaf2.util; import java.io.File; import j ...
- R包的小技巧
通常我们都是直接使用library(pkg_name) 的形式加载R包,在同一台机器上面,对于我们而言,这个包所在的路径一定是在.libPaths() 路面的,但是对于其他用户而言,这个路径可能不存 ...
- tensorflow使用多个gpu训练
关于多gpu训练,tf并没有给太多的学习资料,比较官方的只有:tensorflow-models/tutorials/image/cifar10/cifar10_multi_gpu_train.py ...
- 24小时学通Linux内核之向内核添加代码
睡了个好觉,很晚才起,好久没有这么舒服过了,今天的任务不重,所以压力不大,呵呵,现在的天气真的好冷,不过实验室有空调,我还是喜欢待在这里,有一种不一样的感觉,在写了这么多天之后,自己有些不懂的页渐渐的 ...
- es中queryBuilders api
package com.elasticsearch; import org.elasticsearch.action.ActionListener; import org.elasticsearch. ...
- 易混HTML Entities与正确用法
在页面上,表示HTML实体有多种方式,比方有"&+name;"."&#+10进制ID"."&#x+16进制ID".而 ...
- SpringBoot------连接MySQL报错:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized
报错提示: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zon ...
