20175320 2018-2019-2 《Java程序设计》第4周学习总结
20175320 2018-2019-2 《Java程序设计》第4周学习总结
教材学习内容总结
- 本周学习了教材的第五章的内容。在这章中介绍了子类与继承,着重讲了子类继承的规则以及使用
super、final关键字的使用方法,介绍了方法的重写以及基于重写的面向抽象的编程方法。 - 继承是一种由已有的类创建新类的机制,子类继承一般类的属性和行为,并根据需要增加它自己的新的属性和行为。
- java使用关键字
extends来定义一个类的子类,并不支持多重继承,Object是所有类的祖先类。 - 子类和父类在同一个包中,子类继承其父类中不是private的变量和方法,子类和父类不在同一个包中时,子类只继承父类中的protected和public访问权限的变量及方法。
- 当用子类的构造方法创建一个子类的对象时,不仅子类中声明的成员变量被分配了内存,而且父类的成员变量也都分配了内存空间。子类中还有一部分方法是从父类继承的,这部分方法却可以操作这部分未继承的变量。
- instanceof运算符左面的操作元是对象,右面的操作元是类,当左面的操作元是右面的类或其子类所创建的对象时,instanceof运算的结果是true,否则是false。
- 子类可以通过声明与父类相同名字的变量来隐藏继承的成员变量,通过重写可以隐藏已继承的方法。
- 重写时方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型,并且这个方法的名字、参数个数、参数的类型和父类的方法完全相同,重写方法既可以操作继承的成员变量、调用继承的方法,也可以操作子类新声明的成员变量、调用新定义的其他方法,但无法操作被子类隐藏的成员变量和方法。
- 子类一旦隐藏了继承的成员变量,那么子类创建的对象就不再拥有该变量,该变量将归关键字super所拥有。
- 当用子类的构造方法创建一个子类的对象时,子类的构造方法总是先调用父类的某个构造方法,由于子类不继承父类的构造方法,因此,子类在其构造方法中需要使用super来调用父类的构造方法。
- final关键字可以修饰类、成员变量和方法中的局部变量。final类不能被继承,final方法不允许子类重写,成员变量或局部变量如被修饰为final,则改变量为一常量,且需要在声明时指定该常量的值。
- 对象的上转型对象是子类负责创建的,上转型对象可以访问子类继承或隐藏的成员变量,也可以调用子类继承的方法或子类重写的实例方法。上转型对象操作子类继承的方法或子类重写的实例方法,如果子类重写了父类的静态方法,那么子类对象的上转型对象不能调用子类重写的静态方法,只能调用父类的静态方法。
- 多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能和行为。
- 对于abstract方法,只允许声明,不允许实现,而且不允许使用final和abstract同时修饰一个方法或类,也不允许使用static修饰abstract方法,即abstract方法必须是实例方法。
- 面向抽象编程可以使程序的设计者把主要的精力放在程序的设计上,而不必拘泥于细节的实现。
- 使用多态进行程序设计的核心技术之一是使用上转型对象,即将abstract类声明的对象作为其子类对象的上转型对象,那么这个上转型对象就可以调用子类重写的方法。
教材学习中的问题和解决过程
- 问题1:不知道例子5_7
super.n = n;中的super关键字是否是必要的。 - 问题1解决方案:将该语句去掉后进行编译运行,发现结果与代码修改前是一致的。
- 问题2:不理解为什么static不可以修饰abstract方法。
- 问题2解决方案:经查找书本了解到上转型对象不能调用子类重写的静态方法。
代码调试中的问题和解决过程
- 问题1:产生了如图所示错误。

- 问题1解决方案:发现是错误行的上一行忘记添加了分号。
-问题2:产生了如图所示错误。

- 问题2解决方案:发现是没有切换到正确的文件夹中。
代码托管

上周考试错题总结

- 如果类中没有编写构造方法,系统会默认该类只有一种构造方法。

- 忽略了B选项的正确性。
其他(感悟、思考等,可选)
Java编程语言中有许多内容是环环相扣的,有时一个问题的答案可以在前面的知识点中找到,这就要求我们要熟悉基础概念,弄清楚每一个关键词,每一条语句的限制条件。另外一定要多多练习,这样才能发现一些意想不到的问题,且在使用中加深对关键词以及语法的理解。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 1002/2407 | 1/5 | 29/87 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
- 计划学习时间:20小时
- 实际学习时间:25小时
- 改进情况:多看看现代软件工程 课件 软件工程师能力自我评价表
参考资料
20175320 2018-2019-2 《Java程序设计》第4周学习总结的更多相关文章
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 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学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- ionic BUILD FAILED
BUILD FAILED Total time: 24.572 secs FAILURE: Build failed with an exception. What went wrong: Execu ...
- mysql数据类型转换
--CAST(xxx AS 类型) --CONVERT(xxx,类型) --#浮点型转化为int --i='3.35' --cast(i as signed) --cast(sum(money/100 ...
- 谈谈tmpdir与innodb_tmpdir的区别和用处
[背景] innodb_tmpdir是在innodb online ddl中提到的一个参数:大致的意思是innodb在做online-ddl的时候会向临时目录写入“临时排序文件” 而这些文件的大小基本 ...
- vue 实站技巧总结
多个页面都使用的到方法,放在 vue.prototype上会很方便 刚接触 vue的时候做过一件傻事,因为封装了一个异步请求接口post,放在 post.js文件里面,然后在每个需要使用异步请求的页面 ...
- Python之string
1.string模块支持哪些字符形式?分别是什么. string支持的字符形式有: ('_re', '====>', <module 're' from 'C:\Python25\lib\ ...
- SQL Server 2016新特性:数据库级别配置
新的 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 用来配置数据库级别配置. 这个语句可以配置每个数据库的配置: 清理过程cache 设置MA ...
- 在interface vlan下敲no ip proxy-arp什么意思
取消由路由带来的ARP请求. proxy ARP有哪些优点? 最主要的一个优点就是能够在不影响其他router的路由表的情况下在网络上添加一个新的router,这样使得子网的变化对主机是透明的 pro ...
- 【WPF】ImageMagick调节图片的颜色
需求:打开一张图片后,自由调节图片的颜色(色调). 思路:读取显示一张图片后,用ColorPicker取色器选择一种颜色,之后将图片的色调调节为该颜色. 工具: 1.图像工具 ImageMagick( ...
- go: writing stat cache:, permission denied
sudo chown -R $(whoami):admin /Users/zhushuyan/go/pkg && sudo chmod -R g+rwx /Users/zhushuya ...
- 解决IE8下opacity属性失效问题,无法隐藏元素
解决IE8下opacity属性失效问题 由于opacity属性存在兼容性问题,所以在IE8下,用opacity来设置元素的透明度,会失效,从而导致页面的样式问题.在IE8及其更早的浏览器下,我们可 ...