教材学习内容总结
5.1 子类与父类
继承是一种由已有的类创建新类的机制。
Java不支持多重继承,即子类只能有一个父类。
一般在类的树形结构中,根结点为Object类;Object类是所有类的祖先类;如果一个类(除了Object类)的声明中没有使用extends关键字,那它就会被系统默认为Object类的子类。
5.2 子类的继承性
同一个包:公有,保护,友好
不同包:公有,保护
5.3 子类与对象
创建时,子类总是按层次结构从上到下
instanceof 用来判断左边的操作元是否为右边的类或其子类所创建的对象。
5.4 成员变量的隐藏和方法重写
子类所声明的成员变量的名字和从父类继承来的成员变量的名字相同(声明的类型可以不同),子类就会隐藏所继承的成员变量。
特点:1.子类对象以及子类自己定义的方法操作与父类同名的成员变量是指子类重新声明的这个成员变量。
2.子类对象仍然可以调用从父类继承的方法操作被子类隐藏的成员变量,也就是说,子类继承的方法所操作的成员变量一定是被子类继承或隐藏的成员变量
方法重写:指子类中定义一个方法,这个方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型一致,并且这个方法的名字、参数个数、参数的类型和父类的方法完全相同。——子类如此定义的方法称做子类重写的方法。
重写的目的:隐藏继承的方法
5.5 super关键字
子类继承的方法只能操作子类继承和隐藏的成员变量。子类新定义的方法可以操作子类继承和子类新声明的成员变量,但无法操作子类隐藏的成员变量,要想达成此操作,就需要使用关键字super。
如:super.x、super.play()就是用来访问和调用被子类隐藏的成员变量x和方法play()。
5.6 final关键字
final关键字可以修饰类、成员变量和方法中的局部变量。
final 类不能被继承,即不能有子类。
final 修饰父类中的一个方法时,此方法不允许任何子类重写。
5.7 对象的上转型对象
特点:1.不能操作子类新增的成员变量,不能调用子类新增的方法;
2.可以访问子类继承或隐藏的成员变量,也可以调用子类继承的方法或子类重写的实例方法;
3.如果子类重写了父类的某个实例方法后,当对象的上转型对象调用这个实例方法时一定调用了子类重写的实例方法。
5.8 继承与多态
不同的子类在重写父类的方法时可能产生不同的行为;
多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为。
5.9 abstract类和abstract方法
abstract=抽象。抽象方法只许声明,不允许实现(没有方法体)
abstract方法只能在abstract类中。
教材学习中的问题和解决过程
代码调试中的问题和解决过程
其他(感悟、思考等,可选)
静态的不能被覆盖
重写不能降低类型的权限
abstract类不能创建实例
学习进度条
参考资料
·Java学习笔记
·《Java学习笔记(第8版)》学习指导