20155325 2016-2017-2 《Java程序设计》第4周学习总结
教材学习内容总结
封装就是将数据与相关行为包装在一起以实现信息就隐藏。
多态是指不同的类对象调用同一个签名的成员方法时将执行不同代码的现象。多态是面向对象程序设计的灵活性和可扩展性的基础。
以封装为基础,继承可以实现代码复用,需要注意的是,继承更重要的作用是实现多态。
参考:
实验二Java面向对象程序设计public/package/protected/private

被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以继承后的子类存取。
- 重新定义方法时,对于父类中的方法权限,只能扩大不能缩小。
教材学习中的问题和解决过程
- 问题一:dome
[ˈdeməʊ] n.演示;示威;样本唱片;民主党员
在软件版本中,DEMO即为演示版
代码调试中的问题和解决过程
- 问题一:P162按照书上打的程序

- 问题一解决方案:回查代码,发现与之相连的role里的getLevel拼错。

问题二:如图

问题二解决方案
方案一:

方案二:

方案三:

编译不过————原因:Rolee对fight抽象,之后也没有对fight再操作。
解决一:换为role:


解决二:
对Rolee的fight进行操作。
失败
由此引发对 操作抽象类的学习。
参考资料:
Java面向对象之抽象方法&接口;不要在对抽象类接口abstract virtual什么的混淆不清了
性质:1. 含有抽象方法的类必须是抽象类,但是抽象类中可以不包含抽象方法
- 抽象类必须被继承,抽象类是不能通过new进行实例化操作的,抽象方法必须被重写
- private和abstract不能同时使用(抽象方法必须被重写,以private修饰则矛盾);
static和abstract不能同时使用(static不用实例化即可调用,abstract必须要被继承,矛盾);
final和abstract不能同时使用(final修饰的类不能被继承,final修饰的方法不能被重写, 矛盾);
下一步操作:

但是奇怪的是,头天晚上百思不得其解的程序出错,第二天早上一醒来就明白是哪里出错了。以下为成功结果:

问题三:Ocean出错

问题三解决方案:
原因:没有像Human
创建Anemonefish,Shark,Submarine
。
参考学习:深入理解abstract class和interface和5303同学码云上的代码。
解决:分别创建。
- 问题四:

出现红色波浪线
问题四解决方案:

问题五:Swim右键Delete无法删除

问题五解决方案:
结果网上基本上都是误删了怎么办……码一个看起来比较有用的链接恢复IDEA中误删的文件
当点了Delete之后出现了这个

百度翻译之后:Safe delete(with usage search) 安全删除(使用搜索)search in comments and strings 在注释和字符串中搜索search for test occurrences 搜索测试事件
不明觉厉的我顺手取消了最后一排的两个框框,结果……居然……成功删掉了……内心复杂
代码托管
- 代码提交过程及代码量截图:


上周考试错题总结
填空:Linux Bash中,(grep )命令可以进行全文搜索。
解析:Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文 本,并把匹配的行打印出来。
详细使用见:linux grep命令填空:System.out.println(“”+52+25);的结果是(5225)
原因:当时敲错导致编译失败
填空:两个Integer对象比较大小,可以使用(comareTo())方法。
解析:java.lang.String.compareTo()方法比较两个字符串的字典。比较是基于字符串中的每个字符的Unicode值。此String对象表示的字符序列的参数字符串表示的字符序列进行比较字典.
参考:JavaString.compareTo()方法- “30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)。
解析:java.lang.Byte.parseByte(String s)字符串参数解析为有符号十进制字节。字符串中的字符必须为10进制数,除了第一个字符的ASCII减号' - '(' - ')来表示一个负值或ASCII加号'+'(' u002B')以指示一个正值。
由此产生的字节,则返回值,完全一样的参数和基数10作为参数parseByte(java.lang.String, int)方法。
参考:Java.lang.Byte.parseByte()方法 Java中类的成员变量必须进行初始化,否则会出语法错误。(X)
解析:java 中的变量大致分为 成员变量 和 局部变量 两大类。
类变量属于成员变量
java的类中有两种成员变量
一种就是类变量或静态变量 这类变量前面加油static关键字修饰
这类变量一旦赋值它的值就在你new出来的任何一个实例中具有相同的值另一种叫做实例变量 前面不加static关键字修饰,每一个new出来的新实例都可以对他赋予自己需要的值
参考:ava基础——成员变量、局部变量和静态变量的区别;java 成员变量、局部变量、静态变量;Java中类定义中成员变量的两种形式的区域;JAVA 类变量和成员变量怎么理解总结
上周有点赶,所以直接拿着书看敲代码,结果废了时间却没注意到很多东西,本周调整了学习方式。
其他
紧跟《Java学习笔记(第8版)》学习指导学习之后不踏实感少了很多。之前都是以书上为主,时间不够就没看那个链接。我对细枝末节总会很在意,感觉学起来心里没底。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 16篇 | 400小时 | |
| 第一周 | 9/9 | 1/1 | 19/19 | 熟练下载安装技能,锻炼解决问题能力 |
| 第二周 | 185/194 | 1/2 | 16/35 | 下载并熟悉IDEA,练习使用码云、git的技能。 |
| 第三周 | 488/535 | 1/3 | 18/53 | 花了更少时间磨合软件,学习更顺利 |
| 第四周 | 366/901 | 2/5 | 18/71 | 继承、多态、行为 |
计划学习时间:19小时
实际学习时间:18小时
改进情况:立的flag被推倒了……(跪)这周工作量增多,晚上学习的时候干扰较大,怀念以前学习时能有整晚整晚的自习……不过一切客观原因都不是原因……归根结底还是自己心静不下来,下周我会加强改进的,也是对自己定力的锻炼。
参考资料
- 《Java学习笔记(第8版)》学习指导
- 实验二Java面向对象程序设计
- Java面向对象之抽象方法&接口
- 不要在对抽象类接口abstract virtual什么的混淆不清了
- 深入理解abstract class和interface
- 恢复IDEA中误删的文件
- linux grep命令
- JavaString.compareTo()方法
- Java.lang.Byte.parseByte()方法
- ava基础——成员变量、局部变量和静态变量的区别
- java 成员变量、局部变量、静态变量
- Java中类定义中成员变量的两种形式的区域
20155325 2016-2017-2 《Java程序设计》第4周学习总结的更多相关文章
- 20155326 2016-2017-2 《Java程序设计》第九周学习总结
20155326 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 1.撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找. 2.JDBC目的 ...
- 20155328 2016-2017-2 《Java程序设计》第九周学习总结
20155328 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 16.1 JDBC入门 JDBC是Java联机数据库的标准规范,定义一组标准类与接口,应用程 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
随机推荐
- 布隆过滤器(Bloom Filter)简要介绍
一种节省空间的概率数据结构 布隆过滤器可以理解为一个不怎么精确的 set 结构,当你使用它的 contains 方法判断某个对象是否存在时,它可能会误判.但是布隆过滤器也不是特别不精确,只要参数设置的 ...
- codeforces 549F Yura and Developers(分治、启发式合并)
codeforces 549F Yura and Developers 题意 给定一个数组,问有多少区间满足:去掉最大值之后,和是k的倍数. 题解 分治,对于一个区间,找出最大值之后,分成两个区间. ...
- codeforces 1000F One Occurrence(线段树、想法)
codeforces 1000F One Occurrence 题意 多次询问lr之间只出现过一次的数是多少. 题解 将查询按照左端点排序,对于所有值维护它在当前位置后面第二次出现是什么时候,那么查询 ...
- [TOP10]最受欢迎的10个Metasploit模块和插件
很多人都想知道最受欢迎的10个Metasploit模块和插件是什么(TOP10),事实上这是一个很难回答的问题,因为什么才叫"Top"?我想每个人都有每个人的看法.于是我们通过调查 ...
- java内部类之成员内部类实例
第一个是如何实现同时继承两个类 public class MultiExtendsDemo { public static void main(String[] args) { // TODO Aut ...
- JavaScript的DOM_通过计算后样式来获取
虽然可以通过 style 来获取单一值的 CSS 样式,但对于复合值的样式信息,就需要通过计算样式来获取. DOM2 级样式,window 对象下提供了 getComputedStyle()方法.接受 ...
- BZOJ 1001 狼抓兔子 平面图的最小割
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1001 题目大意: 见链接 思路: 求最小割,平面图的最小割等价于对偶图的最短路 直接建 ...
- HDU 4652 Dice
嘟嘟嘟 题目大意就是对于一个m面的骰子,回答这么两个问题: 1.求连续扔n次都是同一数字的期望次数. 2.求连续扔n次每一次数字都不相同的期望次数. 对于期望dp特别菜的我来说,这道题已经算是很难了. ...
- Python 自动化paramiko操作linux使用shell命令,以及文件上传下载linux与windows之间的实现
# coding=utf8 import paramiko """ /* python -m pip install paramiko python version 3. ...
- Set集合之HashSet类
HashSet简介 HashSet是Set接口的典型实现,大多数时候使用Set集合时就是使用这个实现类.HashSet按Hash算法来存储集合中的元素,因此具有良好的存取和查找性能. HashSet特 ...