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学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
随机推荐
- Linux系统之路——如何在服务器用U盘安装CentOS7.2(一)
终于将CentOS7装上服务器(thinkserver250,不得不说联想的太烂了)了,过程无比艰辛,因为我发现网上大家提到的所有U盘安装CentOS7时碰到的问题几乎都被我碰到了,像什么: 1.刻录 ...
- 如何高效的写出markdown笔记
重置用户名和密码 安利一个小工具donet-cnblog可以同步图片到cnblog中,同时生成对应的Markdown笔记.写博客的时候我们可以本地写,用这个工具同步到cnblog上能够大大节省我们的时 ...
- 随手练——洛谷-P1002 过河卒(动态规划入门)
题目链接:https://www.luogu.org/problemnew/show/P1002 题目还算良心,提醒了结果可能很大,确实爆了int范围, 这是一开始写的版本,用递归做的,先给地图做标记 ...
- 随手练——HDU-2037 、P-2920 时间安排(贪心)
普通时间安排 HDU-2037 :http://acm.hdu.edu.cn/showproblem.php?pid=2037 选取结束时间早的策略. #include <iostream> ...
- 4、Android-数据存储方案(SQLite数据库存储)
4.4.SQLite数据库存储 这是Android内置的数据库 是一款轻量级的关系型数据库 运算速度非常快.占用资源少.通常只需要几百kb的内存就够了 因而特别适合在移动端设备上使用 SQLite不仅 ...
- sqoop mysql--->hive 报错 (ERROR tool.ImportTool: Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf)
ERROR tool.ImportTool: Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apa ...
- Java性能监控
Java性能监控 上次介绍了如何使用jvisualvm监控java,今天做进一步讲解!Java性能监控主要关注CPU.内存和线程. 在线程页中,点击线程Dump,可以生成threaddump日志,通过 ...
- HDU 1358 Period 求前缀长度和出现次数(KMP的next数组的使用)
Period Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- Java语言实现通过Ajax抓取后台数据及图片
1.Java语言实现通过Ajax抓取后台数据及图片信息 1.1数据库设计: create table picture( pic_id number not null, pic_name )not nu ...
- vue项目中分享到朋友圈,调用微信接口
虽然微信提供了jssdk,不代表可以点击按钮进行分享到朋友圈,是需要微信自带的浏览器右上角进行分享.手机浏览器需要浏览器支持分享到朋友圈的分享机制. 微信jssdk地址: https://mp.wei ...