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学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
随机推荐
- 原生JS写了一个小demo,根据输入的数字生成不同背景颜色的小方块儿~
昨天练习写了这个小demo,个人觉得通过设置定位元素left和top的值,来实现换行的功能,这种方法很巧妙~ 另外,如下代码中的随机颜色的获取,还请各位前辈多多指教:需要改进的地方:或者有没有更好的方 ...
- mysql-5.5 for linux源代码安装
mysql-5.5 for linux源代码安装 1.使用Yum安装依赖软件包 # yum install -y gcc gcc-c++ gcc-g77 autoconf automake bison ...
- PaaS平台– Google App Engine的开源实现AppScale环境搭建
搭建好开发环境介绍: 硬件平台:HP Z800 工作站 内存:24GB 硬盘:1TB 虚拟化环境:XenServer 6.2.0 VM1:Ubuntu 12.04 amd64 server ...
- bzoj 3339 Rmq Problem / mex
题目 我的树状数组怎么那么慢啊 就是一道水题,我们考虑一下对于一个区间\([l,r]\)什么样的数能被计算 显然需要对于一个\(j\),需要满足\(j<l\)且\(nxt_{j}>r\), ...
- 让PHP更快的提供文件下载
一般来说, 我们可以通过直接让URL指向一个位于Document Root下面的文件, 来引导用户下载文件. 但是, 这样做, 就没办法做一些统计, 权限检查, 等等的工作. 于是, 很多时候, 我们 ...
- No.1 - 制作一个简单的菜单动画效果---百度IFE
最近比较闲,在家做点训练 http://ife.baidu.com/course/detail/id/18?t=1527144851578#learn CSS3新特性,兼容性,兼容方法总结 https ...
- PAT——1042. 字符统计
请编写程序,找出一段给定文字中出现最频繁的那个英文字母. 输入格式: 输入在一行中给出一个长度不超过1000的字符串.字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束( ...
- 解密蓝牙mesh系列
解密蓝牙mesh系列 https://mp.weixin.qq.com/s/KdVhkgcmHIboA0xPFqFCgQ 1.NRF52832 & NRF52840 BLE mesh 协议栈 ...
- [转载]Linux crontab命令解析
名称 : crontab crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表.-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权 ...
- react 配置开发环境
一:先自行下载安装node和npm 二:cnpm install create-react-app -g 三:create-react-app my-project 四:cd my-project ...