教材学习内容总结
本周学习内容:第五章:子类与继承。
一、子类与父类
1、继承是一种由已有的类创建新类的机制。
2、java不支持多重继承,即子类只能有一个父类;子类与父类的关系是“is-a”关系。
3、子类关键字:extends,格式:class 子类名 extends 父类名{...}、
4、类的树形结构:
(1)Object是所有类的祖先类,任何类都是Object的子孙类。
(2)若一个类的声明中没有使用extends关键字,那么该类被系统默认是Object的子类。
5、子类和父类在同一个包中的继承性:子类会自然地继承父类公有、保护、友好的成员作为自己的成员变量。
6、 子类和父类不在同一个包中的继承性:子类会自然地继承父类的私有、友好的成员作为自己的成员变量。
二、子类与对象
1、instaanceof运算符:其左面的操作元——对象,右面的操作元——类;当左面的操作元是右面的类或其子类所创建的对象时,instanceof运算的结果是true,否则是false。
三、成员变量的隐藏和方法重写
1、方法重写:子类中定义一个方法,这个方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型,并且这个方法的名字、参数个数、参数类型、和父类的方法完全相同。
2、重写的目的:子类可以隐藏继承的方法,子类通过方法的重写可以把父类的状态和行为改变为吱声的状态和行为。
3、重写方法即可以操作继承的成员变量、调用继承的方法,也可以操作子类新声明的成员变量、调用新定义的其他方法,但无法操作被子类隐藏的成员变量和方法。如果子类想使用被隐藏的方法或成员变量,必须使用关键字super。
四、super 关键字
1、子类隐藏了继承的成员变量,则子类创建的对象就不再拥有改变了,该变量归关键字super所有,该方法的调用由关键字super负责。
2、使用super调用父类的构造方法
(1)若子类的构造方法没有明显地致命使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法。
(2)当在父类中定义多个构造方法时,应当包括一个不带参数的构造方法。
五、final 关键字
1、final类不能被继承,即不能有子类。
2、不允许子类隐藏可以继承的final方法(老实继承,不许做任何篡改)。
3、若成员变量或局部变量被修饰为final,则是常量,且程序在声明常量时必须指定该常量的值。
六、对象的上转型对象(P126)
七、继承与多态
1、多态性:指父类的某个方法被其子类重写时,可以各自产生自己的功能行为。
八、abstract类和abstract方法
1、对于abstract方法,只允许声明,不允许实现,而且不允许使用final和abstract同时修饰一个方法或类,也不允许使用static修饰abstract方法,即abstract方法必须是实例方法。
2、abstract类例也可以有或者没有abstract方法。
参考资料
-
Java 2 实用教程(第5版)