第五周学习总结
本周目录:
第六章知识梳理:
- 接口:使用关键字
interface
定义,分为接口声明和接口体。 interface
接口体中只有抽象方法,权限都是public
的static
常量 ,所有抽象方法的访问权限都是public
。- 接口声明:
- 接口体中只有常量和
abstract
方法。 - 如果父类实现了某个接口,子类就不用再次声明;接口可以被继承。
abstract
类中可以有非abstract
方法,而接口中不可以。- 接口回调:为了能够调用某个接口中的方法。具体操作:类A实现接口B,A创建对象a,B声明变量b,b=a
- 抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。
- 抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。
- 接口可以通过
extends
来继承,子接口将继承父接口的全部方法和常量。 import
语句可以引入包的类,也可以引入包的接口。- 如果一个方法的参数是接口类型,可以将任何实现该接口的类的实例引用传递给该接口参数,那么接口参数就可以回调类实现的接口方法。
本周学习时遇到的问题和解决过程
- Q:重写方法的目的是什么?
- A:方法的名字是非常重要且常用的,在使用时,方法于人们习惯性使用,并且更加方便操作,重写是为了增强类的重用性和复用性,扩展性;重写是对类中方法的扩充,因为继承用的是父类的东西,重写则不仅得到父类的东西,同时也加入了自己的东西。
上周错题与解析:
- 错题一:图片一
解析:根据书上116页的解释:父类的private
成员变量尽管分配了内存空间,也不作为子类对象的变量,即:如果子类和父类不在同一包中,子类不继承父类的友好成员变量。 - 错题二:
解析:子类重写的方法,方法名字、参数个数、参数类型和父类的方法完全相同。这里是重载。
码云链接:
码云链接:https://gitee.com/sgm5/text1/tree/master
感想:
第六章的代码测试比上周的少,在上周的课上测试题“类的实现和测试”中,也发现了自己的一些不足:跟着书上敲代码,不会举一反三,希望在接下来的学习中,可以不只局限于书上的代码,能有其他的思考。