20175314 《Java程序设计》第五周学习总结
20175314 《Java程序设计》第五周学习总结
教材学习内容总结


public接口可以被任意一个类实现,友好接口可被同一个包里的接口实现。
Java不支持多重继承,即一个类只能有一个父类;
为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口;
接口也可以通过extens来继承;
接口是抽象方法和常量值定义的集合,是一种特殊的抽象类;
接口中只包含常量和方法的定义,没有变量和方法的实现;
接口中的所有方法都是抽象的;
接口中成员的访问类型都是public;
接口中的变量默认使用public static final标识(可以在定义的时候不加此修饰,系统默认);
接口通过使用关键字interface来声明格式:interface 接口的名字,使用interface来定义一个接口。接口=接扣声明+接口体。接口体中只有常量(权限为public,且为static常量)和抽象方法(权限为public,为stract型),没有变量。
import语句可以引入包的类也可以引入包的接口。
通过类来实现接口:在类声明中使用关键字implements来声明一至多个接口。非抽象类实现了某个接口,一定要重写这个接口中的所有方法(要去掉abstract,体现public)。抽象类实现了某个接口,既可以重写,也可以不重写。
可以通过接口名来访问常量,也可以通过实现接口的类来直接使用。
接口回调:可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。简单的说,接口回调就是为了能够调用某个接口中的方法。具体操作:类A实现接口B;A创建对象a;B声明变量b;b=a;
教材学习中的问题和解决过程

- 问题1:课后编程题类名与文件名不同。
- 问题1解决方案:把Application.java改为Example5_13.java或把类名改为Application。
接口中不能声明变量也不能定义非抽象方法;
接口中的变量不可以不指定初值;
可以在接口中只声明变量,不声明抽象方法;
允许接口只有一种抽象方法;
abstract和static不能同时出现;
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用。
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
代码调试中的问题和解决过程
- 问题:
除了Test类,PC,CPU,HardDisk要实现多个构造方法,比如PC类要有PC(), PC(CPU cpu), PC(HardDisk HD), PC(CPU cpu, HardDisk HD)
除了Test类,PC,CPU,HardDisk要覆盖toString(), equals()方法
Test类中要测试到所有类的toString(), equals()方法

代码托管


本周考试错题总结
错题1

原因:概念不清
理解情况:接口体中包含常量定义和方法定义两部分;接口体只进行方法的声明,不允许提供方法的实现;方法的定义没有方法体,且用分号结尾。
错题2

原因:概念不清
理解情况:
1、接口是可以被接口继承的,即通过关键字extends声明一个接口是另一个接口的子接口。由于接口中的方法和常量都是public,子接口将继承父接口中的全部方法和常量。2、抽象类可以实现接口,当一个类声明实现一个接口而没有实现接口中所有的方法,那么这个必须是抽象类,即abstract类。
3、抽象类是可以继承实体类。
心得体会
本周章节课本上例题较少,内容上与上一章有很多衔接,但还是感觉学习较为艰难,因为涉及到了很多文件的内容,需要记下来的一些流的用法也不少。本周正式开始操作实验,开始使用IDEA,我现在对后来的Android开发实验很是期待希望能够编写自己的app出来,兴趣是最好的老师相信自己通过努力一定可以做到。
学习进度条
| 代码行数 | 博客量 | 学习时间 | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 16篇 | 320小时 | |
| 第一周 | 51/100 | 1/1 | 12/20 | 基本掌握了Linux的简单指令 |
| 第二周 | 173/200 | 1/1 | 18/20 | 学习了Java重要基本语法 |
| 第三周 | 672/800 | 1/1 | 18/20 | 学习了包含多个类的Java程序及类的包机制 |
| 第四周 | 436/600 | 1/1 | 12/20 | 学习程序父类和子类的继承规则 |
| 第五周 | 573/600 | 1/1 | 10/20 | 学习通过类来实现接口和接口回调 |
计划学习时间:20小时
实际学习时间:10小时
参考资料
20175314 《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源代 ...
- 20175314 《Java程序设计》第九周学习总结
20175314 <Java程序设计>第九周学习总结 教材学习内容总结 根据课本的介绍下载了MySQL和Navicat for MySQL并成功对后者进行破解 MySQL客户端管理工具(如 ...
- 20175314 《Java程序设计》第二周学习总结
20175314 <Java程序设计>第二周学习总结 教材学习内容总结 我在APPstore上发现了一个可以支持我们在IOS系统上学习实践Java程序的开发环境,只需要购买专业版就可以使用 ...
- 20175314 《Java程序设计》第一周学习总结
20175314 <Java程序设计>第一周学习总结 教材学习内容总结 除了学院统一购买的<Java 2 实用教程(第5版)>我还在网上买了一本<Head ...
- 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 ...
随机推荐
- 在MySQL中快速的插入大量测试数据
很多时候为了测试数据库设计是否恰当,优化SQL语句,需要在表中插入大量的数据,怎么插入大量的数据就是个问题了. 最开始想到的办法就是写一个程序通过一个很大的循环来不停的插入,比如这样: int i = ...
- js··事件捕捉
给一个元素绑定事件,普通写法是 obj.onclick=function(){} 这就相当于给obj的onclick属性赋值是一个道理. obj.onclick=function(){} 这种写法有一 ...
- 手撕RPC框架
手撕RPC 使用Netty+Zookeeper+Spring实现简易的RPC框架.阅读本文需要有一些Netty使用基础. 服务信息在网络传输,需要讲服务类进行序列化,服务端使用Spring作为容器.服 ...
- zombodb 配置设置
主要是关于es 集群地址以及分片,复制副本的配置,配置主要在postgresql.conf,当然我们可以在函数中指定 postgresql.conf 级别的配置 es 配置 格式 zdb.defaul ...
- github 的ssh key
一.输入cd ~/.ssh——回车(看你是否有了ssh key 密钥): 二.若无密匙,输入ssh-keygen -t rsa -C "your email"——直接回车,回车,跟 ...
- 迅雷磁力链接转BT种子工具
种子文件目录:C:\Users\jifeng\AppData\Local\Temp\magnetex MagnetEx.exe 从迅雷5.8支持磁力链接的无视受限资源版提取 MagnetEx.exe ...
- Linux系统目录权限chmod误操作权限修复方法
Linux中,如果意外误操作将/目录权限批量设置,比如chmod -R 777 / ,系统中的大部分服务以及命令将无法使用,这时候可以通过系统自带的getfacl命令来拷贝和还原系统权限,若是其他系统 ...
- Mysql建了索引查询很慢
遇到一个问题,有几个结构一个的查询,表的索引建的也一样,但是有的查询很快,有的却很慢,需要半分钟以上才能执行完. 查看执行计划,并没有什么区别.找了很久原因才发现是主查询和子查询所涉及的表的字符编码不 ...
- Pycharm初始创建项目和环境搭建
Pycharm确实是一个非常不错的Python开发IDE,尤其对于初学者而言. 打开新建项目 1.选择新建一个Pure Python项目,新建项目路径可以在Location处选择. 2.Project ...
- 第二次作业——分布式版本控制系统Git的安装与使用
作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2097 远程仓库地址是:https://github.com/sheep ...