《JAVA程序设计》_第四周学习总结

一、本周学习内容

1.子类与父类——5.1知识

  • 在类的声明中用关键字extends来定义一个类的子类,格式如下:
class 子类名 extends 父类名 {
...
}

2.子类的继承性——5.2知识

  • 若子类父类在一个包中,子类继承父类中不是private的变量
  • 若子类、父类不在同一包中,父类中的private变量、友好变量不会被子类继承,就是说,子类只会继承public变量、protected变量
  • 若子类D的祖先类与Object类在同一包中,则可继承其父类的变量

3.成员变量的隐藏和方法重写——5.4知识

  • 若在子类中声明的变量与继承的变量重名,则会覆盖继承的变量,使继承变量隐藏
  • 子类隐藏继承的成员变量特点如下:
    • 子类用自己声明的方法操作重名变量时操作新变量
    • 子类用继承方法操作重名变量是操作隐藏变量

  • 若子类声明方法与继承方法相同(同名、同参数),则可重写继承方法,继承方法将被隐藏
  • 子类重写的方法类型可以是继承方法的子类型
  • 子类重写父类时可提高访问权限,不可降低访问权限

4.super关键字——5.5知识

  • 使用super关键字可访问、调用被隐藏的成员变量和方法
  • 子类不继承父类的构造方法,应使用super关键字来调用父类的构造方法,如下图:
  • 当父类定义多个构造方法时,应定义一个不带参数的构造方法(如例子8)

5.final关键字——5.6知识

  • final类不能被继承,不允许有子类
  • final方法不允许被修改
  • final变量是常量,不允许被修改

6.对象的上转型对象——5.7知识

  • 用子类创建一个对象,并把它的引用赋给父类对象中,则该父类对象就成了上转型对象,例如:
Animal a;
a=new Tiger();

Animal a;
Tiger b=new Tiger();
a=b;

上述a就是对象b 的上转型对象

  • 上转型对象具有以下特点
    • 不能操作子类新增的方法、变量
    • 可操作继承或隐藏的变量、继承或重写的方法

7.继承与多态——5.8知识

  • 将多子类的引用赋给父类时,可形成多个上转型对象
  • 每个子类通过重写父类的某个方法可产生各自的功能行为
  • 当多个上转型对象调用各自的重写方法时,就体现了多态

8.abstract类与abstract方法——5.9知识

  • abstract类中可以有abstract方法(也可没有)
  • abstract方法不能有方法体
  • abstract类不能用new运算符创建对象,必须通过子类的重写其抽象方法,给出方法体
  • 使用abstract类创建对象虽然不可用new创建对象,但可将其子类的引用赋给它,作为其子类的上转型对象,改对象可调用子类重写的方法
  • 理解abstract类
    • 抽象类可抽象出重要的行为标准,用抽象方法表示。即抽象类封装了子类必须要有的行为标准。
    • 抽象类声明的对象可以成为其子类对象的上转型对象,调用子类重写的方法,即体现了各个子类根据抽象类里的行为标准给出的具体行为。

二、脚本截图


三、学习感受

  • 本周的学习内容感觉比之前难了不少,尤其是到后面面向抽象的编程那一部分有点难以理解,反复的琢磨了几遍,又跟同学讨论讨论,感觉清晰了不少,也逐渐体会到面向对象编程的特点。
  • 码云链接

猜你喜欢

转载自www.cnblogs.com/wyf20175217/p/10564199.html