第四周作业总结
学习内容:
1.根据教材视频学习第五章:子类和继承
2.调试代码和解决问题
3.上周错题
4.代码托管
知识总结
-
子类:在类的声明中,通过使用关键字extends来定义一个类的子类。
-
子类只能有一个父类。使用关键字
extends
来定义一个类的子类:class子类名
extends父类名。在类的声明中未使用
extends关键字,默认是
Object`的子类。 -
继承:子类继承父类的成员变量作为自己的一个成员变量。
-
子类的继承性:
子类与父类在同一包中的继承性:子类继承了其父类中不是private
的成员变量与方法
子类与父类不在同一包中的继承性:子类只继承父类中protected
和public
访问权限的成员变量与方法。 -
final关键字:可以修饰类、成员变量、方法中的局部变量
-
final类(不能有子类),final方法:不允许子类隐藏可以继承final方法。
final class A {
...
} -
super关键字
使用命令super.成员变量
和super.方法
使用被隐藏的变量和方法。
使用super()
调用父类的构造方法 -
abstract类与abstract方法
- abstract类中可以有非abstract方法
- 非abstract类不能有abstract方法,若是abstract类的子类,必须重写父类的abstract方法
- abstract类不能创建对象,可声明对象,该对象可称为子类的上转型对象
问题及解决方法
- 在编译时 会出现如图所示问题:
已解决:需分清子类与父类,class子类名
extends` 父类名。 - 代码托管时:总会出现error,上传代码时也会出现对象文件为空错误object-file-is-empty的问题
未解决:在博客园和百度搜索时,按照网页:https://segmentfault.com/a/1190000008734662 上的提示步骤,无法删除错误文件
上周错题
答案解析:D项中:当实例成员变量的名字和局部变量的名字相同时,不能省略成员变量前的“this.”和static变量前的“类名.”。
答案解析:不能用protected和private修饰类。
代码托管
自我总结
随着学习内容的增多,在之后的学习过程中会出现对前面的知识出现模糊的情况,需及时巩固与及时复习,对于老师给的学习知识点还是应该更多去理解,而不是机械的敲入电脑,关于代码上传码云的问题,在未来一周也会继续寻找解决的办法。本周代码量比上周增加了不少,敲代码的过程越来越熟悉,学习JAVA还是应该多实践,多动手。