20155206 2006-2007-2 《Java程序设计》第4周学习总结
教材学习内容总结
- 继承:
避免多个类间重复定义共同行为,在编写程序的过程中可能会出现部分代码重复的现象,把重复的部分定义为一类(父类),其他代码(子类)直接继承,子类直接使用父类方法,但是支持多层继承。继承的出现提高了代码的复用性,也让类与类之间产生了关系,提供了多态的前提,避免了大段代码的重复出现的问题。
- extends
extends是使用继承的关键字
public class SwordsMan extends Role{ public void fight() { System.out.println("攻击"); } }
SwordsMan扩充Role的行为,就是继承后者的行为。也就是类Role中有定义的程序代码,类SwordsMan继承也就有了。而fight()为SwordsMan扩充的Role没有的行为。
- IS-A
因为子类继承了父类,所以子类是一种父类
- 多态
多态指的是使用一个接口,操作多种类型的数据。
- 封装
封装是继承的基础
- 重新定义行为
在继承父类之后,定义与父类中相同的方法签署,但各子类中执行的内容不同。对于父类中的方法权限,只能扩大不能缩小,原来成员public子类中重新定义时不可为private、 protected
-
protected
protected 的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类中直接存取,用“this”存取
-
final
若class前加了final,则表示这个类是最后一个了,不会再有子类
- 匿名内部类
一些子类或接口操作类只使用一次,不需要为这些类定义名称,这时可使用匿名内部类
final int[] numbers = {10,20};
教材学习中的问题和解决过程
-
子类构造函数中没有指定执行父类中哪个构造函数,怎样指定调用哪个函数
-
解决方法:如果想执行父类构造函数,可以使用super()或this()指定,注意super()和this()只能选用一个
代码托管
- 代码量截图
上周考试错题总结
- 错题:System.out.println(“”+52+25);的结果是(5225);System.out.println(52+25+“”);的结果是(77)
- 总结:System out println(""+i);等价于System.out.println(i.toString());。public String toString()返回该对象的字符串表示。ToString()方法会返回一个“以文本方式表示”此对象的字符串。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 16/16 | 1/1 | 08/08 | |
第二周 | 090/116 | 1/2 | 10/18 | |
第三周 | 235/351 | 1/1 | 20/38 | |
第四周 | 328/679 | 1/1 | 22/60 |