正文
20182311 2019-2020-1 《数据结构与面向对象程序设计》第5周学习总结 |
教材学习内容总结
教材第八章
1.继承(extends)是从已有类中派生一个子类。通过继承,新类自动包含父类中的变量及方法,子类可添加或修改父类方法。子类的实例不依赖父类的实例
2.protected修饰符:保护可见性的变量或方法可以由同一包内任何类来访问。保护可见性提供了继承之间最恰当的封装机制。
3.super引用:可以引用父类的变量和其他方法及构造方法。子类不能继承父类的构造方法,一般子类的构造方法自动调用super()继承不带参数的父类构造方法,带参数的构造方法要用super来继承。
4.多重继承:一个类只能有一个子类,java中不允许一个子类有多个父类,但允许接口可以有多个接口。
5.object类:每个类都直接或间接的派生于object类,自动继承toString和equals方法。
6.抽象类:抽象类不能实例化,可以不含有抽象方法。(abstract)
教材学习中的问题和解决过程
-
问题1:方法重写和方法重载的区别?
-
问题1解决方案:个人理解:方法重写是两个类之间方法的关系,子类对所继承的父类的方法进行修改;方法重载是在同一个类之间方法的关系,一个类中含有多个方法名相同单参数不同的方法。
-
问题2:怎么统计代码行数?
-
问题2解决方案:在IDEA里找到statistic插件,下载后每次refresh就可以查看了。
代码调试中的问题和解决过程
-
问题1:出现Exception in thread "main" java.lang.NullPointerException at test.AdjMGraph.InitateAaj(AdjMGraph.jav
-
问题1解决方案:出错原因原来是定义数组后没有对每个数组对象进行实例化,数组中的每个元素都是一个对象啊,既然是对象我们没有对他进行分配空间
-
问题2:出现inputmismatchexception
-
问题2解决方案:出错原因是控制台输入与设置不匹配。修改变量设置。
代码托管
上周考试错题总结
- 错题1:Which of the following is true regarding Java classes?
A .All classes must have 1 parent but may have any number of children (derived or extended) classes
B .All classes must have 1 child (derived or extended) class but may have any number of parent classes
C .All classes must have 1 parent class and may have a single child (derived or extended) class
D .All classes can have any number (0 or more) of parent classes and any number of children (derived or extended) classes
E .All classes can have either 0 or 1 parent class and any number of children (derived or extended) classes - 反思:正确答案:A,我的选项:E。Java支持继承,但不支持多重继承,因此Java类可以有任意数量的子类,但只能有一个父类。此外,由于所有Java类都直接或间接从对象类继承,所以所有Java类都只有一个父类。
- 错题2:Using the reserved word, super, one can
A .access a parent class'constructor(s)
B .access a parent class'methods and instance data
C .access a child class'constructor(s)
D .access a child class'methods and instance data
E .none of the above - 反思:正确答案:E,我的选项:B。super关键字可以访问父类的构造方法、实例数据和方法,所以应该是A+B,选择E。
- 错题3:Interface classes cannot be extended but classes that implement interfaces can be extended.
A .true
B .false - 反思:正确答案:B。任何类都可以扩展,无论它是接口、实现接口还是两者都不是。唯一的例外是类被显式地修改为“final”,在这种情况下它不能被扩展。书上只说了接口被其他类实现(implements),但实际上接口还可以被其他接口继承(ectends)
结对及互评
点评过的同学博客和代码
- 本周结对学习情况
感悟
写代码前要先有一个清晰的思路,直接上手写容易删删改改还达不到目的。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 10000行 | 30篇 | 400小时 | |
第一周 | 246/246 | 2/2 | 30/30 | 初步掌握linux命令、java小程序和jdb调试 |
第二周 | 73/319 | 3/3 | 30/60 | |
第三周 | 906/1225 | 3/6 | 20/80 | |
第四周 | 748/1973 | 2/8 | 20/100 | |
第五周 | 849/2822 | 2/10 | 20/120 |