学号:201711671216 《Java程序设计》第六周学习总结

学号:201711671216 《Java程序设计》第六周学习总结

教材学习内容总结(P112-144):第五章

  1. 继承是一种由易优百的类创建新类的机制。利用继承可以先定义一个共有属性的一般类,根据该一般来再定义具有特殊属性的子类。注:java不支持多重继承,即子类只能有一个父类。
  2. 在类的声明中,通过使用关键字extends来定义一个类的子类。格式:class 子类名 extends 父类名{...}。 类的树形结构:根结点是Object类(Object类是java.lang包中的类),即Object是所有类的祖先类。 任何类都是Object类的子孙类,每个类(除了Object类外)有且仅有一个父类,一个类可以有多个或另个子类。  注:没有使用extends关键字的类,默认为Object类的子类。
  3. 子类的继承性:子类的成员与方法一部分是子类自己声明和定义的,另一部分是从它的父类继承的。
  4. 同一个包中:子类自然继承其父类中不是private的成员以及方法作为自己的成员与方法,而且继承后访问权限不变。
  5. 不在同一个包:父类中的private和友好(friend)访问权限的成员变量与方法不能被子类继承,也就是说子类只能继承父类的protected和public访问权限的成员变量和方法。
  6. Protected的进一步说明:P115
  7. 子类对象的特点:子类创建对象的时候,不仅给自己的成员变量分配了空间,还有自己的,但是不分配为继承的。但是子类从父类中继承的方法,可以操作这部分未继承的变量。
  8. 关于instanceof运算符:是java独有的双目运算符,其左边的操作元是对象,右面的操作元是类,当左面的操作元是右面的类或其子类所创建的对象是,instanceof运算的结果是ture,否则是false。
  9. 成员变量的隐藏:如果所声明的变量与从父类中继承的名字相同,子类就会出现同名覆盖(成员变量的隐藏)。 特点:(1)、是指子类重新定义的成员变量;(2)、子类继承的方法所操作的成员变量一定是被子类继承后隐藏的成员变量。
  10. 方法重写:子类通过重写可以隐藏已继承的方法(方法重写又名方法覆盖)。 重写规则:(1)、所谓方法重写是指子类中定义一个方法,该方法的类型和父类的方法的类型一一致或者是父类的方法的子类型,并且这个方法的名字、参数个数、参数类型和父类的犯法完全相同; (2)、子类通过方法的重写可以隐藏继承的方法,子类通过方法的重写可以把父类的状态和行为改变成自身的状态和行为。  注:重写的方法可以操作继承的,也可以是新的,但不能操作隐藏的,但可以用super操作。 (3)、重写父类的方法时,不允许降低方法的访问权限,但是可以提高访问权限(访问限制修饰符按访问权限从高到低的排列顺序是public、protected、友好的、private)。
  11. Super关键字:用super操作被隐藏的成员变量和方法,eg; super.f();
  12. 使用super调用父类的构造方法:由于子类不继承父类的构造方法,因此,子类在其构造方法中需使用super来电泳父类的构造方法,而且super必须是子类构造方法中的头一条语句,格式 super(代替父类中构造方法的方法名)即:super(构造方法的参数)。

注:如果类中定义了一个或多个构造方法,namejava不提供默认的构造方法,因此,在父类定义对个构造方法时,应当包括一个不带参的构造方法,以防止子类省略super时出现错误。

  1. final关键字:可以修饰类、成员变量和方法中的局部变量
  2. Final类不能被继承,即不能有子类。 final方法不允许子类重写,final修饰的成员变量和局部变量是常量,运行期间不允许发生变化。
  3. 对象的上转型对象:把子类的对象赋给父类的对象。具有如下特点:(1)、上转型对象不能操作子类新增的成员变量和方法(失去了部分属性和行为); (2)、上转型对象可以访问子类继承或隐藏的成员变量,也可以调用子类继承Dev方法或子类重写的方法。       注:

16、继承与多态:上转型是多态的一个表现形式,通过父类-子类方法重写。 多态性就是指父类的某个方法被其子类重写时,可以产生自己的功能行为。

17、abstract类(可以继承,不能创建对象)和abstract方法(只允许声明,不允许实现).

对于abstract方法,只允许声明,不允许实现(没有方法体),而且不允许使用final和abstract同时修饰一个方法或类,也不允许使用static修饰abstract方法,即abstract方法必须是实例方法。 (1)、abstract类中可以有abstract方法(2)、abstract类不能使用new运算符创建对象(3)、abstract类的子类必须重写父类的abstract方法,即去掉abstract方法的abstract修饰,给出方法体(4)、abstract类的对象作上转型对象(5)、理解abstract类,关键点:(1)、抽象类可以抽闲出重要的行为标准,该行为标准用朝向方法来表示。(2)、体现子类根据抽象类里的行为标准给出具体行为。

  1. 面向抽象编程:是指当设计某种重要的类时,不让该类面向具体的类,而是抽象的类,即所设计的类中的重要数据是抽象类声明的对象,而不是具体类声明的对象。  目的:避免设计者把大量的时间和精力花费在具体的算法上。  核心技术:使用上转型对象。
  2. 开-闭原则:就是让设计的系统对扩展开放,对修改关闭。

 

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

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

其他(感悟、思考等,可选)

学习进度条

参考资料

·Java学习笔记(第8版)

·《Java学习笔记(第8版)》学习指导

·...

猜你喜欢

转载自blog.csdn.net/panlxg/article/details/83479977