一、本周学习内容

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类
    • 抽象类可抽象出重要的行为标准,用抽象方法表示。即抽象类封装了子类必须要有的行为标准。
    • 抽象类声明的对象可以成为其子类对象的上转型对象,调用子类重写的方法,即体现了各个子类根据抽象类里的行为标准给出的具体行为。

二、脚本截图



三、学习感受

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

《JAVA程序设计》_第四周学习总结的更多相关文章

  1. 20145213《Java程序设计》第四周学习总结

    20145213<Java程序设计>第四周学习总结 教材学习内容总结 本周任务是学习面向对象的继承.接口以及之后的如何活用多态.(还真是路漫漫其修远兮啊!)教材也是延续上周艰深晦涩的语言风 ...

  2. 20145330《Java程序设计》第四周学习总结

    20145330<Java程序设计>第四周学习总结 一周两章新知识的自学与理解真的是很考验和锻炼我们,也对前面几章我们的学习进行了检测,遇到忘记和不懂的知识就再复习前面的,如此巩固也让我对 ...

  3. 20145337《Java程序设计》第四周学习总结

    20145337<Java程序设计>第四周学习总结 教材学习内容总结 继承与多态 继承 继承,避免多个类间重复定义共同行为 符合DRY(Don't Repeat Yourself)原则,多 ...

  4. 20145218 《Java程序设计》第四周学习总结

    20145218 <Java程序设计>第四周学习总结 教材学习内容总结 继承 继承共同行为 继承基本上就是避免多个类间重复定义共同行为. 继承的三个好处:减少代码冗余:维护变得简单:扩展变 ...

  5. 《Java程序设计》第四周学习总结

    20145224-陈颢文 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承与多态 ·继承就是面向对象中,子类继承父类,避免重复的行为定义.重复再程序设计上是非常不好的信号 ...

  6. 20155304 2016-2017-2 《Java程序设计》第四周学习总结

    20155304 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承: 概念: 面向对象中,为避免多个类间重复定义共同行为.(简单说就是将相同的程序 ...

  7. 201521123038 《Java程序设计》 第四周学习总结

    201521123038 <Java程序设计> 第四周学习总结 1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 1.通过 ins ...

  8. 201521123061 《Java程序设计》第四周学习总结

    201521123061 <Java程序设计>第四周学习总结 1. 本章学习总结 (1)思维导图: --- (2)上课内容总结: 第四周学习了Java中的继承与多态,思维导图中已经给出了本 ...

  9. 20175209 《Java程序设计》第四周学习总结

    20175209 2018-2019-2 <Java程序设计>第四周学习总结 教材知识点总结 1.子类和父类: 子类的继承性:子类与父类在同一包中——子类继承父类中不是private的变量 ...

  10. 20175204 张湲祯 2018-2019-2《Java程序设计》第四周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第四周学习总结 教材学习内容总结 -第五章子类与继承要点: -子类与父类: 1.通过使用关键字extends来定义一个类 ...

随机推荐

  1. java.lang.OutOfMemoryError: unable to create new native thread问题排查以及当前系统最大进程数量

    1. 问题描述 线上某应用出问题,查看日志 这一组服务器是2台,每台都有.配置为64G,使用7G,空余内存非常多 2. 问题排查 环境变化:程序迁移到新机器,新机器是CentOS 7,程序运行账号由原 ...

  2. Classifying with k-Nearest Neighbors(k近邻)

    终于要开始写自己的第一篇博客啦,真有点小激动(手足无措 =.=!).因为最近正在琢磨机器学习,第一篇博客就从学的第一个算法开始:k-nearest neighbors algorithm即k近邻算法. ...

  3. ldap配置系列一:ldap的安装

    ldap的安装 ldap的简介 LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简 ...

  4. asp.net MVC NPOI导出excel通用

    一.创建一个类文件添加 public class ExportToExcelColumn { public ExportToExcelColumn(string _Columnnames, strin ...

  5. Nginx 初識

    今天簡單了解了一下Nginx,并在本機安裝,并簡單配置了一下,道理什麼的還不懂,就是看能不能跑起來. 1.安裝從官網下載就好,把文件隨便解壓在一個英文目錄裡面. 然後修改配置文件,修改的內容如下: 2 ...

  6. Oracle day03 连表查询

    为什么要表连接进行查询? 查询部门名称为SALES的员工信息 如何进行表的连接查询? 两种方式:Sql 1992 和sql1999 sql1992sql分类    1.笛卡尔积 (表乘表)    2. ...

  7. 2018/12.21:函数this的指向

    1.     解决函数内this指向 1.        可以在函数外提前声明变量 _this/that=this 2.        通过apply和call 来修改函数内的this指向 (1)   ...

  8. sql server2008数据库迁移的两种方案

    方案一 1,先将源服务器上的数据库文件打包(包括mdf和ldf文件),并且复制到目标服务器上. 2,解压,然后在目标服务器上附加数据库 总结:适合数据库巨大(50GB以上),需要快速迁移数据,并且移动 ...

  9. 忘记时间戳的存在——Yii2超实用的自动更新时间戳的Behavior(改进版)

    本文改进了Yii2中内置行为类TimestampBehavior,使得时间戳字段(如created_at,updated_at) 完全自己更新,方便得让你忘记它们的存在. Yii2的内置行为类Time ...

  10. v8 GC机制

    1.为什么要分代 V8是Chrome浏览器的javascript解释器,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那 ...