20155212 2016-2017-2 《Java程序设计》第4周学习总结
20155212 2016-2017-2 《Java程序设计》第4周学习总结
教材学习内容总结
Chapter 6
- 继承基本上就是避免多个类间重复定义共同行为。
private
成员会被继承,不过子类无法直接存取,必须通过父类提供的方法来存取(如果股类愿意提供访问方法的话)。- 子类只能继承一个父类。
- 继承可避免类别间重复的行为定义。
- 子类别与父类别间会有is-a的关系。
- 多态:以抽象讲法解释,就是使用单一接口操作多种类型的对象。
- Java以继承及界面来实现多态,是次态多态的一种实现。
- 在重新定义父类别中某个方法时,子类别必须撰写与父类别方法中相同的签署。
- 如果某方法区块中真的没有任何程序代码操作,可以使用
abstract
标示该方法为抽象方法,该方法不用撰写{}区块,直接“;”结束即可。 - 子类继承抽象类
- 继续标示该方法为
abstract
(该子类因此也是个抽象类,必须在class
前标示abstract
); - 操作抽象方法。
- 继续标示该方法为
- 被声明为
protected
的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取。 - 如果方法中没有同名参数,this可以省略,不过基于程序可读性,多打个this比较清楚。
- Java 3个权关键字:
public
、protected
、private
,共4个权限范围。权限关键字与权限范围的关系:
关键字 | 类内部 | 相同包类 | 不同包类 |
---|---|---|---|
public |
可存取 | 可存取 | 可存取 |
protected |
可存取 | 可存取 | 子类可存取 |
无 | 可存取 | 可存取 | 不可存取 |
private |
可存取 | 不可存取 | 不可存取 |
- 如果一开始不知道使用那个权限,就先使用
private
,以后是需求再放开权限。 重新定义方法,父类中的方法权限,只能扩大但不能缩小。
e.g.原为
public
,子类重新定义时,不可为private
、protected
。this()
与super()
只能选择一个调用,而且一定要在构造函数第一行执行。final
关键字限定修改变量值。如果定义类时没有使用
extend
关键字指定继承任何类,那一定是继承java.lang.Object
。Chapter 7
-定义行为,可以使用interface
关键字定义,接口中的方法不能操作,直接表示为abstract
,而且一定是public
。
- 类要操作接口,必须使用
implements
关键字。 - 操作接口表示“拥有行为”。
- 类可以操作两个以上类,即拥有两种以上的行为。
- 类可以同时继承类、操作接口。
- 使用
interface
来定义抽象的行为外观,方法要声明为public abstract
,无须且不能有操作。省略public abstract
,编译程序会协助补全。 - 可以使用接口枚举场数,只能定义为
public static final
,可省略。 - 若有两个接口都定义了某方法,操作两个接口的类并不会有错误。但是,在设计上要思考:两个接口都有定义的方法时候表示不同的行为?
enum
定义了特殊的类,继承自java.lang.Enum
,直接撰写程序继承Enum
类会被编译器拒绝。
教材学习中的问题和解决过程
代码调试中的问题和解决过程
- 照着书上的代码敲,然后分类放在文件夹时,经常出现缺少类的编译错误提示。
- x因为有的代码书前面有,不会再每一节反复出现,所以直接把前一节或几节的
.class
文件复制过来就好了或者使用import
。如果复制.java
文件再过来编译,难免有凑代码行数之嫌,还增加了麻烦。
- x因为有的代码书前面有,不会再每一节反复出现,所以直接把前一节或几节的
- 查了很多资料发现出现这个提示的原因是:因为我使用了容器,却没有用泛型。虽然有错误提示,但是仍然能正常编译,并没有影响。
代码托管
- 因为我换了系统,很多代码在kali上写的,但是pull在ubuntu上,所以代码统计有些问题,把前几天的代码都计算在今天。
上周考试错题总结
- 填空:Linux Bash中,(grep )命令可以进行全文搜索。
- 对Linux命令还是有很多没有掌握。
- 填空:~0b1010的十进制值是(-11)。
- 忘记在前面补0。取反码应该是11110101,因为是负数取补码10001011,即-11。
- 填空:两个Integer对象比较大小,可以使用(comareTo())方法
- 书上知识没有记住,误记成了
equal()
,现在已经掌握了、
- 书上知识没有记住,误记成了
- 判断:Java中类总会有默认构造方法。(X)
- 概念不牢。
- 填空:“30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)。
- 前面知识没有及时复习,导致掌握不够牢固。
- 判断:private不能用在构造方法上,这样就无法创建对象了。(X)
- 对private没有掌握。
- 填空:Java中类的成员变量必须进行初始化,否则会出语法错误。(X)
- 将c与java有些混淆。
- 填空:Java中方法参数只用(传值)调用。
- 没有记住。
其他(感悟、思考等,可选)
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 18/18 | 1/1 | 10/10 | |
第二周 | 172/190 | 1/2 | 18/38 | |
第三周 | 464/654 | 1/3 | 23/61 | |
第四周 | 876/1530 | 1/4 | 28/89 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:28小时
实际学习时间:28小时
改进情况:终于有一周实际和计划相同,可能这是因为第七章和第八章内容太多了,为了完成任务不得不努力。有压力才能有动力这句话真的很有道理。
参考资料
20155212 2016-2017-2 《Java程序设计》第4周学习总结的更多相关文章
- 20155306 2016-2017-2 《Java程序设计》第九周学习总结
20155306 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 Java语言访问数据库的一种规范,是一套API ...
- 20155236 2016-2017-2 《Java程序设计》第九周学习总结
20155236 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 1.JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标 ...
- 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学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
随机推荐
- DIY简单功能的torrentkitty种子爬虫
过完年回公司比较无聊,一不小心看到微博里美尤莉娅的图片,惊为天人,有图为证!!! 百度之原来这货以前叫小泉彩,貌似动了几个小手术换了个马甲重新出道了.你拍AV你家里知道么?.于是乎下了几个种子看了下, ...
- 7、Python文件操作工具 openpyxl 工具 2
创建一个工作簿 使用openpyxl没有必要先在系统中新建一个.xlsx,我们需要做的只需要引入Workbook这个类,接着开始调用它. >>> from openpyxl impo ...
- 【4】【MOOC】Python游戏开发入门-北京理工大学【第三部分-游戏开发之机制(色彩与绘图)】
学习地址链接:http://www.icourse163.org/course/0809BIT021E-1001873001?utm_campaign=share&utm_medium=and ...
- Tomcat中容器是什么以及容器与容器之间的数量关系。
Tomcat容器到底是什么 学java有一小段时间了,一直使用Tomcat,也知道Tomcat是一个大的Servlet容器,里面还有许多子容器,容器之间都是相互嵌套的.也看过一下接收Tomcat的文章 ...
- ps基础练习
1. 直接把图片拖进来 2. F 键 视窗全屏快捷键 3. 此时的图片是“背景”层,不能直接编辑,双击该背景层,就变成了“图层”,就可以编辑了 4. 5. 6. 7. 魔棒工具,在需要去掉的点一下, ...
- selenium + python自动化测试unittest框架学习(四)python导入模块及包知识点
在写脚本的时候,发现导入某些模块,经常报错提示导入模块失败,这里来恶补下python导入模块的知识点. 1.模块导入时文件查找顺序 在脚本中,import xxx模块时的具体步骤: (1)新建一个mo ...
- seek()和tell()在文件里转移
Seek()方法允许在输入和输出流移动到任意的位置,seek()有好几种形式.包含:seekp() 方法和seekg()方法,p是put的意思,g是get的意思:其中输入流里用seekg()函数,输出 ...
- javascript-对象搜索算法挑战
对象搜索算法挑战 function where(collection, source) { var arr = []; var status = null; // What's in a name? ...
- Selenium自动化测试之数据驱动及用例管理
Selenium自动化测试之数据驱动及用例管理 一.TestNg注解介绍 @Test:表示一个测试方法,在运行测试用例过程中,会自动运行@Test注解的方法. 例:
- thinkpad T61 Fn功能键的完整说明及有关问题解决
FN键的作用Fn 键是一个组合键,它自己本身没有用,需要和其他功能键组合起来以迅速改变操作特征,它可以组合的键在键盘上都用蓝色标注,具体作用为: Fn+F2:锁定计算机显示器.要再次打开计算机显示器, ...