20165233 2017-2018-2 《Java程序设计》第四周学习总结
教材学习内容总结
ch05java
- 子类与父类以及子类的继承性
- 一个子类只能有一个父类
- 使用
extends
关键字定义子类
- 子类与父类在同一个包中、不在同一个包中的不一样继承特色。
- 子类与对象
- 子类对象能够调用继承的方法,操做没有继承的成员变量。
- 成员变量的隐藏与方法的重写
- 子类从父类继承来的成员变量与子类本身所声明的成员变量名字相同,则会隐藏继承的成员变量。
- 子类经过重写能够隐藏继承的方法(也称方法覆盖)
- 重写的规则及目的
super
、final
关键字
- 对象的上转型对象以及继承与多态
- 用子类建立一个对象a,并把这个对象的引用放到父类的对象b中,则对象a是对象b的上转型对象。
- abstract类与abstract方法
- 面向抽象编程
ch06git
- 接口以及接口的实现
- 接口的接口体中只能够有常量和abstract方法
- 和类同样,接口也是Java中的一种重要的引用型数据类型,接口变量中只能存放实现该接口的实例(对象)的引用。
- 接口回调:当接口变量中存放了实现接口的类的对象的引用后,接口变量就能够调用类实现的接口方法,这一过程被称为接口回调。
- 理解接口以及接口与多态:和子类体现多态相似,由接口产生的多态就是指不一样的类在实现同一个接口时可能具备不一样的实现方式。
- 接口参数
- 面向接口编程
教材学习中的问题和解决过程
- 问题1:为何要重写而不是新写一个方法呢?
- 问题1解决方案:方法的名字是很是重要的,并且是经常使用的,这样在使用时,方法即是人们习惯性使用的,更加方便操做。
- 问题2:教材121页中,子类定义方法
computer
时,多增长了一个变量,此时是否属于重写继承的computer
方法呢?编译与运行结果如何?
- 问题2解决方案:此时不属于重写
computer
方法,因为子类没有覆盖继承computer
方法,使子类出现了方法重载。
- 问题3:
super
关键字的好处是什么?
- 问题3解决方案:又要重写,还想继续使用这个方法,即想用父类的变量或方法,并想改进父类,但又不想重敲一遍,这时即可利用
super
关键字。
- 问题4:为何使用接口,而不是直接写个方法实现呢?
- 问题4解决方案:当子类有不一样的父类时,但还要有一样的行为标准,可使用同一个接口。
代码调试中的问题和解决过程
- 问题1:编译Example6_4.java时,出现了如图所示的错误,如何解决?

- 输出命令行
System.out.printf
错敲成System.out.println
.

上周考试错题总结
- 错题1:观察如下方法的定义,则该方法的返回类型为?
ReturnType method(byte x,double y) {
return (short)x/y*2;
}
缘由:对于类型转换的知识点理解不太透彻。
理解状况:short
将byte
类型的x
强制转换为short
类型,但y
的精度更高,因此返回类型为double
。编程
- 错题2:
short
和Float
都属于基本数据类型?
缘由:未区分清楚数据类型与封装类的区别。
理解状况:Float
是float
提供的封装类,不是基本数据类型。
- 错题3:定义
float x = 0.5f;double y = 0.5
,则x == y
结果为false
?
缘由:对于float与double类型的异同掌握不熟练。
理解状况:0.5
在float
和double
的范围内均可以使用二进制精确表示,所以两者相等。
其余(感悟、思考等,可选)
本周对于编程的学习已经深刻到了编程思想方面,例如面向抽象编程与面向接口编程。这些思想有着很大的共同之处,在用户需求多变的时候,接口与抽象的方法对于修改和维护程序提供着更大的便利。在这周的学习中,对于知识点的理解慢慢的有一些容易了,因为微课视频中,老师会举一些直观,贴近生活的例子。可是感受到本身能够编写出一个全面可行的程序还相差甚远,须要继续努力。学习