201711671125 《Java程序设计》第6周学习总结

教材学习内容总结

第五章

1.子类与父类

继承是一种由已有的类创建类的机制。由继承得到的类称为子类,被继承的类称为父类。Java不支持多重继承,即子类只有一个父类。

1.1子类

在类的声明中,通过使用关键字extends来定义一个类的子类。(格式:class 子类名 extends 父类名)

1.2类的树形结构

Object类是所有类的祖先类。任何类都是Object类的子孙类,每个类(除了Object类)有且仅有一个父类,一个类可以有多个或零个子类。

2.子类的继承性

类有两种重要成员,成员变量和方法。

2.1子类和父类在同一包中的继承性

如果子类和父类在同一个包中,子类继承父类中不是private的成员变量和方法。

2.2子类和父类不在同一包中的继承性

当父类和子类不在同一个包中时,子类只继承父类中的protected和public的成员变量和方法。

2.3继承关系的UML图

实线的起始端是子类的UML图,终点端是父类的UML图,但终点端使用一个空心的三角形表示实线的结束。

2.4protected进一步说明

(1)对于子类D自己声明的protected成员变量和方法,只要Other类和D类在同一个包中,object对象就可以访问这些protected成员变量和方法。

(2)对于子类D从父类继承的protected成员变量或方法,需要追溯到这些protected成员变量或方法所在的“祖先类”。

3.子类与对象

Instanceof运算符,左面操作元是对象,右面的操作元是类。运算结果是true或false。

4.成员变量的隐藏和方法重写

4.1成员变量的隐藏

所声明的成员变量名字和从父类继承来的成员变量的名字相同(声明的类型可以不同),在这种情况下,子类就会隐藏所继承的成员变量。

特点:(1)子类对象以及子类自己定义的方法操作与父类同名的成员变量是指子类重新声明的这个成员变量。(2)子类对象仍然可以调用从父类继承的方法操作被子类隐藏的成员变量。

4.2方法重写

重写的语法规则:这个方法的类型和父类的方法的类型一致或是父类的方法的子类型,并且这个方法的名字、参数个数、参数类型和父类的方法完全相同。

5.super关键字

如果在子类中想使用被子类隐藏的成员变量或方法,就需要使用关键字super。例如super.x,super.play()。

5.1使用super调用父类的构造方法

如果子类的构造方法没有明显的指明使用父类的哪个构造方法,子类调用父类不带参数的构造函数。子类在其构造方法中需要使用super来调用父类的构造方法,而且super必须是子类构造方法中的头一条语句。

6.final关键字

final关键字可以修饰类、成员变量和方法中的局部变量。

6.1final类不能被继承,即不能有子类。

6.2final方法

如果用final修饰父类中的一个方法,那么这个方法不允许子类重写。

6.3常量

如果成员变量或局部变量被修饰为final,那它就是常量。

7.对象的上转型对象

对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。(相当于子类对象的一个“简化”对象)。

(1)上转型对象不能操作子类新增的成员变量,不能调用子类新增加的方法。

(2)上转型对象可以访问子类继承或隐藏的成员变量,也可以调用子类集成的方法或子类重写的实例方法。

8.继承与多态

多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为。

9.abstract类和abstract方法

Abstract方法只允许声明,不允许实现(没有方法体),而且不允许使用final和abstract同时修饰一个方法或类,也不允许使用static修饰abstract方法。

(1)abstract类中可以有abstract方法,也可以有非abstract方法。

(2)abstract不能用new运算符创建对象

(3)abstract的子类

如果一个非abstract类是abstract的子类,它必须重写父类的abstract方法,即去掉abstract方法的abstract修饰,并给出方法体。可以继承父类的abstract方法,也可重写。

教材学习中的问题和解决过程

概念多易混淆,多看书记住概念,并且敲课本例题加速理解这些概念。

代码调试中的问题和解决过程

多看几遍例题再上机运行,理解起来会比较容易一些。

其他

还是要多敲代码才可以啊。

学习进度条

 

代码行数(新增/累积)

博客量(新增/累积)

学习时间(新增/累积)

重要成长

目标

2000行

10篇

80小时

 

第一周

67/67

1/1

8/8

 

 

第六周

300/1564

1/5

8/52

 

 

参考资料

《Java2实用教程(第5版)》

猜你喜欢

转载自blog.csdn.net/Ulong_/article/details/83477996