20165232 第四周学习总结
教材学习内容总结
第五章 子类与继承
- 类的声明中,通过使用关键字extends来定义一个类的子类,格式:class 子类 extends 父类
- 子类的继承性
- 子类和父类在同一包中
- 子类和父类不在同一包中:子类只继承父类中protected和public访问权限的成员变量作为子类成员变量
-
关于instanceof运算符
党操作元是类或子类创建的对象时,instanceof运算的结果是ture,否则faulse -
继承的好处:避免重复的同时,若是要对相应的数据成员名称做修改,只需要在父类中修改即可;
-
is-a:子类与父类之间是is-a(是一种)关系,编写代码时可以使用is-a检查语法的逻辑是否正确:从=右边往左读,看右边是不是左边的子类。当右边不是左边的子类的时候,程序编译错误,也可能存在检查为右边可能是左边子类的不确定的结果,这时可以执行(Cast)叫程序住嘴语法,错误时抛出ClassCastException.
-
is-a关系:子类只能继承一个父类,即子类“是一种”父类,可用来判断如下代码片段:
-
super关键字:在子类中想使用被隐藏子类的成员变量或者方法,该方法的调用由关键字super负责
-
多态:单一接口操作多种类型的对象。
-
继承语法细节
- protected成员:被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取;
- 重新定义的细节:重新定义方法时,若只是希望在父类中方法前后做点加工,可在父类中直接添加,想取得父类中的方法定义,只需在调用前加上super关键字;(使用super关键字调用的父类方法不能定义为private,同时,重新定义方法时,对于父类中的方法权限只能扩大不能缩小)
- final关键字:final关键字可以修饰类,成员变量和方法中局部变量
- java.lang.Object:定义类时若没有extends关键字,那一定是继承java.lang.Object;(顶层父类,Object上定义的方法所有对象都继承下来了,只要没有定义为final,都可以重新定义
- instanceof运算符:判断对象是否由某个类创建,左操作数是对象,右操作数是类,只要左操作数是右操作数的子类型,返回结果就为true;
第六章 接口与实现
- 接口
- 接口:可用于定义行为但不操作(表示拥有行为,是多重继承的一种方式),类要操作接口,就必须有implements关键字(为了生成与特定接口相符合的类);
- 接口中定义的方法的处理方式:操作接口中定义的方法、再度将其标示为abstract;
- 接口语法
- 接口的默认:接口中的方法没有操作时,一定得是公开且抽象(interface关键字:定义抽象行为与外观);
- 枚举常数:为了在维护程序时使程序清晰;
- 匿名内部类:对于只使用一次的继承某个类的子类或接口操作类,不需为这些类定义名称;
代码调试中的问题和解决过程
代码托管
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 20篇 | 400小时 | |
第一周 | 13/13 | 1/1 | 17/17 | |
第二周 | 408/408 | 2/2 | 18/18 | |
第三周 | 962/962 | 1/1 | 22/22 | |
第四周 | 1350/1350 | 1/1 | 19/19 |