第四周学习总结-20175218

20175218 2016-2017-2 《Java程序设计》第四周学习总结

教材学习内容总结

-第五章主要讲的是子类和继承,之前第四章主要体现的是面向对象的数据的封装,而第五章主要讲述的是面向对象的继承与多态。

-类在第四章已经提到过了,第五章就主要讲了继承。继承就是一种由已有的类创建新类的机制。我们可以用继承先创建一个共有属性的一般类,再根据它创建具有特殊属性的新类。

-子类继承父类的方法只能操作子类继承和隐藏的成员变量。子类重写或新增的方法能操作子类继承和新声明的成员变量,但不能直接操作隐藏的成员的变量,需要用到super。

-子类可以体现多态。使用多态设计程序时,要尽量体现“开-闭原则”。

教材学习中的问题和解决过程

  • 问题1:不知道子类是否可以有多个父类

  • 问题1解决方案:通过百度得知,java不支持多继承,因为多继承有背面向对象编程,但是可以继承多个接口,即java一个子类只能继承一个父类,且子类可以无限多。

  • 问题2:不清楚什么是成员变量的隐藏,什么是方法的覆盖

  • 问题2解决方案:通过上网查询得到答案:

成员变量的隐藏:
如果在子类中对从父类继承来的成员变量进行重新定义,即出现了子类变量对父类变量的隐藏。所谓隐藏是指子类拥有两个相同名字的变量,一个是继承自父类,另一个是由自己定义的。当子类执行它自己定义的方法时,如果操作该变量,所操作的是它自己定义的变量,而把继承自父类的变量“隐藏”起来。当子类执行从父类继承的操作时,如果操作该变量,所操作的是继承自父类的成员变量。

方法的覆盖:
正如子类可以定义与父类同名的成员变量,实现对父类成员变量的隐藏一样,子类也可以重新定义与父类同名的方法,实现对父类方法的覆盖。当在子类中调用同名的方法时,一般情况下是调用它自己定义的方法,因而实现了对父类方法的覆盖,如果要调用父类的方法,只需在方法名前使用不同的类名或对象名即可。

代码调试中的问题和解决过程

代码托管

statistics.sh脚本截图

第五章教材调试代码

上周考试错题总结

  • 下列关于参数传值的说法,错误的是

A .对象调用方法时,参数变量必须有具体的值。

B .方法如果改变参数的值,向参数传值的变量的值也会改变。

C .可以向int型变量传递一个short值。

D .如果改变参数变量所引用的实体,原变量的实体会发生同样的变化。

E .对于可变参数,如一个参数代表x,那么x.length等于x所代表的参数的个数。

错选:D

正解:B

解析:4.5节。方法如果改变参数的值,不会影响向参数“传值”的变量的值。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90
  • 计划学习时间:18小时

  • 实际学习时间:18小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

posted @ 2019-03-23 10:02  20175218陈敬勇  阅读(127)  评论(0编辑  收藏  举报