学号 20175313 《Java程序设计》第四周学习总结
教材学习内容总结
第五章主要内容html
-
了解子类的继承性git
- 子类和父类在同一包中的继承性(除private外其他都继承)
- 子类和父类不在同一包中的继承性(只继承public和protected)
-
掌握成员变量的隐藏和方法重写编程
- 成员变量的隐藏:注意与this的区别。
- 用关键字super对其进行操做。
- 经过调用从父类继承的方法对其进行操做。
- 方法重写:注意与方法重载的区别。
- 语法规则:这个方法的名字、参数个数、参数类型和父类的方法要彻底相同,可是方法的类型能够是父类方法类型的子类。
- 重写目的:经过方法重写能够隐藏继承的方法,或是把父类的状态和行为改变成自身的状态和行为。
- 成员变量的隐藏:注意与this的区别。
-
理解何为多态性以及如何产生多态微信
- 所谓多态就是指父类的某个方法被其子类重写时,能够各自产生本身的功能的行为。(后面的abstract会用到)
- 将子类建立的对象的引用放到一个父类的对象中,就获得了该对象的一个上转型对象,那么这个上转型对象在调用这个方法时就可能具备多种形态。
-
熟悉abstract的使用以及相关规则学习
- 对于abstract方法,只容许声明,没有方法体。
- 不容许用final和static修饰abstract类或方法。
- abstract类不能用new运算符建立对象。但该对象能够成为其子类对象的上转型对象调用子类重写的方法。
-
学会面向抽象编程测试
- 目的:应对用户需求的变化。
- 核心:让类中的每种可能的变化对应地交给抽象类的子类去负责。
教材学习中的问题和解决过程
- 问题1:不太明白该代码编译不经过的缘由。
- 问题1解决方案:经过查阅课本并对上方问题进行深刻剖析,最终理解的该代码出错的缘由。
- 理解状况:super必须是子类构造方法的头一条语句,该代码中子类B的头一条语句中并无出现super,则默认super(),所以当父类中定义多个构造方法是,应当包括一个不带参数的构造方法,而A中未曾出现,所以出现了编译失败,若在A类中加上一个无参数的构造方法,则结果应该为2。
- 运行结果截图:
- 问题2:对于子类的上转型对象可否调用子类重写的静态方法,不是很清楚。
- 问题2解决方案:上机运行改程序,查看结果。
- 运行结果截图:
- 结果代表:若是子类重写了父类的静态方法,那么子类对象的上转型对象不能调用子类重写的静态方法,只能调用父类的静态方法。
代码调试中的问题和解决过程
- 问题:运行结果与教材上所给的不相符(教材133页例题)。
解决方案:经过调试发现bottom能够成功的做为Geometry子类的上转型对象,可是height的值始终为0; 后来发现是在Pillar类中少写了一句关于对height的操做。 调试过程截图:
this
代码托管
(https://gitee.com/xiannvyeye/test)spa
这周考试错题总结
- 错题1
正确答案:A
我选择的是:B设计
- 错误缘由:不太清楚,我仍是认为个人答案是正确的。
- 理解状况:
- instanceof的使用方法:instanceof运算符左面的操做元是对象,右面是操做元是类,当左面的操做元是右面的类或其子类所建立的对象时,instanceof运算的结果是true,不然是false。
- 个人理解:
- 依照此定义,若一个实例对象是其子类所建立的对象,那么instanceof的值为true,可是它不是右边操做元的对象;
- 若一个实例对象是instanceof右边操做元所建立的,那么instanceof的值仍然为true,而它不是右边操做元的对象。
- 因此我认为没法经过instanceof的结果来判断实例对象是否属于一个类。
- 错题2
正确答案:ABCD
个人答案:CD3d
- 错误缘由:对final这个关键字的使用理解的不够透彻,没有全面的看待它,只看到一些片面之处。
- 理解状况:经过查看资料final类以及String类是否能够被继承,已经可以明白这道题了。
心得体会
- 这周刚成立结对小伙伴,咱们暂时尚未开始一块儿学习,因此我在打代码的过程当中出现了许多粗心的地方,致使我浪费的不少时间去调试,找Bug,我以为咱们结对以后这种事情的发生率必定会大幅度下降。
- 第五章的内容较少,正是由于内容少,反而使我懈怠,周四才开始看,因此不少内容都是大体看一下,致使课后习题、测试题频繁因为概念问题出现错误。因此我以为必定要合理分配时间。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 13/13 | 1/1 | 23/23 | |
第二周 | 317/330 | 1/6 | 22/45 | |
第三周 | 703/1044 | 1/7 | 31/76 | |
第四周 | 1263/2094 | 2/9 | 18/84 |
-
计划学习时间:23小时
-
实际学习时间:18小时
-
改进状况:合理安排时间,充分利用碎片时间。
-
本周结对学习状况
- 20175211
- 结对学习内容: