20155226 2016-2017-2 《Java程序设计》第4周学习总结
教材学习内容总结
- 继承(
extends
):
1、作用:提高代码复用性
让类与类产生了关系,有了这个关系才有了多态的特性
2、注意:千万不能为了过去其他类的功能,简化代码而继承,必须是类和类之间有所属关系才能继承。(所属关系:is a)
3、父类中定义了这个继承体系中的共性功能,各个子类定义其中的特性功能
如
class A { void demo1; void demo2; }
class B { void demo1; void demo3; }
A与B的共性只有demo1,因此A、B不能直接继承,要通过中间量C继承。
class C { void demo1; }
4、子父类中同名变量引用: this.xxx表示子类中的xxx super.xxx表示父类中的xxx
5、子父类中相同函数覆盖:子父类中出现相同函数,但内容却不一致,子类对象调用该函数的时候会运行子类函数内容。
final
:
作为一个修饰符:
1、可以修饰函数、变量
2、被final修饰的类不能被继承,这个类中的所有方法也都不能被复写
3、final修饰的方法不能被复写(类中没有被final修饰的方法可以被复写)
4、被final修饰的变量不能再次被赋值
- 抽象类(
abstract
):
1、抽象方法一定在抽象类中。
2、抽象方法和抽象类都必须被abstract关键字修饰。
3、抽象类不能用new创建对象,因为调用抽象方法没意义。
4、抽象类中的抽象方法要被使用,必须要由子类复写其所有的抽象方法后,建立对象调用。
5、如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类
接口。
- 接口
为什么会用到接口
我们在第六章中学习了继承,一个类继承另一个类就可以拥有该类中的一些方法,但是类的继承有一个“是一种”的属性,你继承哪个就是一种该类,可是有时候我们仅仅想要拥有类中方法但是与该类并没有从属关系,此时就用到接口。
接口使用
在java中会用到interface关键字定义接口。标准定义:
public interface role{
public abstract void roleplay ();
}
我们注意到该方法只定义了一个接口,但是并没有具体操作方法。如果想要拥有role中的行为必须操作接口。
我们用关键字implements
操作接口。
教材学习中的问题和解决过程
概念太多还是比较混淆,目前只是模模糊糊地学习了下这两章,还不能熟练掌握。
代码调试中的问题和解决过程
本周敲代码屡次出现类的缺失,对主类的封装没有掌握好吧。
代码托管
-
代码提交过程截图:
-
代码量截图:
上周考试错题总结
-
- 填空:
System.out.println(“”+52+25);
结果是(5225)
- 填空:
-
- 填空:
System.out.println(52+25+””);
结果是(77)
- 填空:
-
- CH05 填空:调用p145sum函数计算1+2+3+4+5的代码
是(
MathTool.sum(1,2,3,4,5)
)
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 5/5 | 1/1 | 10/10 | |
第二周 | 75/80 | 1/2 | 15/25 | |
第三周 | 253/305 | 1/3 | 25/50 | |
第四周 | 390/695 | 1/4 | 30/80 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:25小时
-
实际学习时间:30小时
-
改进情况:
-
本周情况不错,代码量有所提高,但代码理解还是有一定欠缺,还需多练。
参考资料
-
[《Java学习笔记(第8版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html