20175334 《Java程序设计》第四周学习总结
教材学习内容总结
- 掌握子类与父类的声明和子类的继承性
class 子类名
extends父类名
- 子类与父类在同一包中时,继承除
private
外的内容 - 子类与父类不在同一包中时,继承
protected
和public
内容
- 理解掌握成员变量的隐藏
- 用
super
关键操作被隐藏的成员变量或方法 - 用
super
关键字调用父类的构造方法
- 用
- 理解掌握方法重写
- 语法规则:子类中定义一个方法,方法的类型和父类的一致或者是父类的方法类型的子类型,并且此方法的名字、参数个数、参数类型和父类方法完全相同
- 重写目的:隐藏继承的方法,把父类的状态和行为改变为自身的状态和行为
final
关键字final
类不能被继承,即不能有子类- 不允许子类隐藏可以继承的
final
方法 - 如果成员变量或局部变量被修饰为
final
,那它就是常量,需要程序在声明常量时指定该常量的值
- 对象的上转型对象
- 上转型对象不能操作子类新增的成员变量,不能调用子类新增的方法
- 上转型对象可以访问子类继承或隐藏的成员变量,也可以调用子类继承的方法或子类重写的实例方法
- 理解多态的概念并掌握如何产生多态
- 父类的某个方法被其子类重写时,可以各自产生自己的功能行为
- 把子类创建的对象引用放到一个父类的对象中时,就得到了该对象的一个上转型对象,那么这个上转型对象在调用这个方法时就可能具有多种形态
- 掌握
abstract
类和abstract
方法- 对于
abstract
方法,只允许声明,不逊于实现,即没有方法体 abstract
类中可以有abstract
方法、不能用new
运算符创建对象、对象作上转型对象
- 对于
- 学习如何面向抽象编程并了解开—闭原则
- 设计某重要的类时,不让该类面向具体的类,而是面向抽象类,即所设计类中的重要数据是抽象类声明的对象,而非具体类声明的对象
- 开—闭原则即让设计的系统对扩展开放,对修改关闭
教材学习中的问题和解决过程
- 问题1:一个类的各个子类是如何体现多态的
- 问题1解决方案:通过研读课本明白了是通过重写方法来体现的
- 问题2:对于课本后面的习题的答案不理解
- 问题2解决方案:通过上机运行,明白了书本127页中的“如果子类重写了父类的静态方法,那么子类对象的上转型对象不能调用子类重写的静态方法,只能调用父类的静态方法”这一概念
代码调试中的问题和解决过程
- 问题1:编译时弹出“使用或覆盖了已过时的API”的指令
- 问题1解决方案:通过百度了解到这个问题是因为使用JDK中的类的时候,调用了已经过时的方法,对编译结果没有影响
代码托管
学习心得
- 已经学习了一个月的Java,对于自己的编程能力已经有了一定的提升,希望在接下来的学习中能够取得更大进步
- 课本后的习题不仅仅是编程题有用,其它的题目也对本章内容的复习有很大的作用
- 我觉得面向抽象编程在团队设计中有很大的作用,这使得程序的设计者和子类的设计者各尽其能,大大减少了编程的时间