20165316 第四周学习总结
教材学习内容总结
第五章
- 使用关键词 extends 定义一个子类
- 一个类只能有一个父类,但是可以有若干个子类。
- 子类继承了父类非 private 的变量和方法。(protected 变量和方法只有同一包中才能继承)
- 子类继承的方法只能操作子类继承和隐藏的成员变量。子类新定义的方法可以操作子类继承和子类新声明的成员变量,但无法操作子类隐藏的成员变量(需要使用 super 修饰子类隐藏的成员变量)。
- 子类可以通过重写父类方法隐藏从父类继承来的方法,如果想要调用隐藏方法,可使用 super 关键字修饰。
- 区分方法重写和方法重载。
- 重写父类方法时,不允许降低方法权限,但可以提高访问权限(由高到低: public、protected、友好的、private)
- 使用 super() 调用父类的构造变量。
- 使用 final 方法修饰父类方法可以拒绝子类重写,final 变量是常量,而 final 类不允许有子类。
- 对象的上转型对象相对于对象本身失去了新增的变量方法,但是获得了隐藏的变量(注意重写的方法的性质)。
- 一个方法可以有若干个继承。
- abstract 类中可以有 abstract 方法(非 abstract 类中不可以有 abstract 方法),也可以有非 abstract 方法。
- abstract 方法可以通过作为上转型对象或方法来调用子类重写的方法,这样,我们在编程时可以省略掉针对不同对象的判断和处理语句。
第六章
- interface 接口体中只有抽象方法,所有常量都是 public static ,所有抽象方法的访问权限都是 public。
- 可以把实现接口的类的对象的引用赋值给接口变量,该接口变量可以调用被该类实现的接口方法,即体现该类根据接口里的行为标准给出的具体行为。
- 可以把接口变量中存放对象的引用看成接口和一个对象的对接行为,这时,接口可以进行接口回调。
- 如果一个方法的参数是接口类型,我们就可以将任何实现该接口的类的实例引用传递给该接口参数,那么接口参数就可以回调类实现的接口方法。
教材学习中的问题和解决过程
- (已解决)几周之前出现的ubuntu sam% 字段不被识别问题,直接打开文件,将 sam% 改为 same 即可。
- (已解决)没有理解构造方法的实质,通过从新阅读4.9理解。
- (未解决)构造方法有没有返回值?我觉得如果采用隐式方法返回的是类中的变量,那如果类中有多个变量就是返回多个变量,还是返回别的什么值,但是如果没有返回值,如果出错该怎样调试又是一个问题。参考:擎天荼荼的 CSDN 博客
代码托管
截图如下