20172313 2017-2018-2 《程序设计与数据结构》第七周学习总结
教材学习内容总结
- 学习了如何去创建一个子类。
- 学习了使用protected修饰符让子类能够访问一个父类公共变量和使用保留字super来调用父类的构造方法。
- 学习了如何对父类的方法进行重写。
- 初步学习了类层次结构,了解了Object类和抽象类以及接口的层次结构。
- 学习了子类怎样通过一个其他方法来引用父类中的方法和变量以及常量。
- 初步学习了类间继承关系的设计。
教材学习中的问题和解决过程
- 关于私有成员变量
无论父类中的成员变量是私有的、共有的、还是其它类型的,子类都会拥有父类中的这些成员变量。但是父类中的私有成员变量,无法在子类中直接访问,必须通过从父类中继承得到的protected、public方法(如getter、setter方法)来访问。 - 关于静态成员变量
无论父类中的成员变量是静态的、还是非静态的,子类都会拥有父类中的这些成员变量。 - 关于被子类覆盖的成员变量
无论父类中的成员变量是否被子类覆盖,子类都会拥有父类中的这些成员变量。
代码调试中的问题和解决过程
代码托管
上周考试错题总结
- 错题1: In Java, rrays are
A . primitive data types
B . objects
C . interfaces
D . primitive data types if the type stored in the array is a primitive data type and objects if the type stored in the array is an object
E . Strings - 解析 在Java中,数组是作为对象实现的。 该变量是存储整个数组的内存块的引用变量。 但是,使用记号名称[index]而不是消息传递来访问数组。
- 原因:这道题还是在学习的时候对数组的具体概念理解不清...
- 错题2: If an int array is passed as a parameter to a method, which of the following would adequately define the parameter list for the method header?
A . (int[ ])
B . (int a[ ])
C . (int[ ] a)
D . (int a)
E . (a[ ]) - 解析 该参数的定义与变量最初声明的一样,类型参数名称。 这里的类型是int [],参数是a。
- 原因:这道题是疏忽了,不小心就选错了。
- 错题3: If a and b are both int arrays, then a = b; will
A . create an alias
B . copy all elements of b into a
C . copy the 0th element of b into the 0th element of a
D . return true if each corresponding element of b is equal to each corresponding element of a (that is, a[0] is equal to b[0], a[1] is equal to b[1] and so forth) and return false otherwise
E . return true if a and b are aliases and return false otherwise - 解析 “=”是一个赋值运算符。 如果这两个变量都是基元,那么左边的变量会得到右边变量的副本(所以如果a和b是int值并且b = 5,那么a就变成5)。 但是,由于a和b是数组,所以引用变量a被设置为引用变量b,导致a和b引用内存中的同一个数组,或者它们现在是彼此的别名。
- 原因:书本上的内容没有理解透彻。
- 错题4: In Java, an array can only store one type of data. For instance, you cannot create an array that stores both double and String values.
A . true
B . false
解析 数组被称为同类型。 这意味着存储在数组中的值的类型对于每个元素都必须是相同的。 该类型由声明决定。 所以,int [] x仅使x为int数组。 所以,没有数组可以存储double和字符串。 - 原因:在学习教材时误把可变参数长度理解成可以同时储存不同类型的值了。
- 错题5: Just as arrays can only have a fixed number of elements, set at the time the array is declared, a parameter list also can only have a fixed number of elements, set at the time the method is declared.
A . true
B . false - 解析 Java为可变长度参数列表提供了特殊符号。 省略号(...)用于指定可变长度参数列表。
- **原因:可变长度参数理解混淆。
结对及互评
点评模板:
点评过的同学博客和代码
其他
这周的内容从自身感觉来说并没有那么难,学习起来也没有前几周那样吃力,但由于这周还有实验课的缘故,所以学习任务并不算轻,好在学习起教材上的内容时没有出现什么麻烦,在进行代码调试的时候也没有出现什么大的问题。希望在以后的学习中继续努力,继续进步!
学习进度条
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 126 | 1/1 | 20/20 | |
第二周 | 388/466 | 1/2 | 15/35 | |
第三周 | 706/1162 | 1/3 | 17/52 | |
第四周 | 1104/2266 | 1/4 | 20/72 | |
第五周 | 1126/3392 | 1/5 | 15/87 | |
第六周 | 906/4298 | 1/6 | 20/107 | |
第七周 | 1233/5531 | 1/7 | 20/127 | |
参考资料
《Java程序设计与数据结构教程(第二版)》
《Java——基础之继承与接口的区别》