(继承中变量的使用和方法的重写)
1.继承中变量的使用
1).父类成员变量与子类成员变量同名时,使用super.变量名指定父类的成员变量

2.继承中构造方法的使用
1).创建子类对象时,会先调用父类的无参构造,因为子类的构造函数中默认存在一个super();
2).如果父类没有无参构造的话,我们就需要手动指定子类去调用父类的含参构造super(参数);
3).构造方法不可以被继承,原因是:构造方法名必须是本类的类名,不可能在子类中存在一个父类名字的构造方法

3.方法的重写
重写:子类对父类的方法不满意时,可以重写父类的方法
注意:重写是在不改变父类方法的前提下,实现功能的修改,重写后子类对象调用的就是重写后的功能
原则:两同 两小 一大
两同:方法名+参数列表相同
一大:子类方法的修饰符权限 >= 父类方法的修饰符权限
两小:子类方法的返回值类型,有两种选择:
1)子类方法的返回值类型与父类方法的返回值类型相同
2)子类方法的返回值类型是父类方法的返回值类型的子类
比如:父:void 子:void
父:int 子:int 但是:byte short long都不行!没有继承关系
父:Animal 子:Animal/Cat都可以,但不可以是Car
注意:我们还可以给方法上加@Override注解,标记这是一个重写的方法

(静态)
静态:
1.static可以修饰成员变量和方法
2.被static修饰的资源称为静态资源
3.静态资源随着类的加载而加载,最先加载,优先于对象进行加载
4.静态资源可以通过类名直接调用,也被称作类资源
5.静态被全局所有对象共享,值只有一份
6.静态资源只能调用静态资源
7.静态区域内不允许使用this与super关键字,因为this代表本类对象,super代表父类对象,有静态时还没有对象呢~

静态代码块static{}
1.格式:static{ }
2.位置:类里方法外
3.执行时机:随着类的加载而加载,优先于对象进行加载【只加载一次】
4.作用:用于加载那些需要第一时间就加载,并且只加载一次的资源,常用来初始化

final 关键字
1.修饰类:最终类,不可以被继承
2.修饰方法:这个方法的最终实现,不可以被重写
3.修饰常量:值不可以被更改,并且常量定义时必须赋值
注意:常量的定义需要使用全大写,单词之间使用下划线分隔

(多态)
面向对象之多态:
前提:继承+重写
2. 口诀1:父类引用指向子类对象
解释:父类类型的引用类型变量保存的是子类类型的对象的地址值

  1. 口诀2:编译看左边,运行看右边
    解释:编译时要看父类是否定义了这个资源,运行时使用的是子类的功能

  2. 资源使用情况
    1).成员变量使用的是父类的
    2).成员方法使用的是父类的方法定义,子类的方法体
    3).如果多态对象调用的是子类没有重写过的方法,方法定义与方法体使用的都是父类的,所以这个不符合多 态的前提,直接使用纯纯的父类对象调用即可
    4).静态资源属于类资源,随着类的加载而加载,只会加载一次,优先于对象进行加载,可以通过类名直接调 用,被全局所有对象共享,所以静态不存在重写的现象,在哪个类定义,就属于哪个类的资源
    5).我们现在学习的多态,把自己看作是父类类型,参考“花木兰替父从军”

(异常)

  1. 异常的继承结构
    异常层次结构中的根是Throwable
    Error:目前我们编码解决不了的问题
    Exception:异常
    编译异常:未运行代码就报错了,强制要求处理
    运行时异常:运行代码才报错,可以通过编译,不强制要求处理

2.异常的解决方案
1). 捕获处理try-catch–自己解决
(1)try-catch结构可以嵌套,如果有多种异常类型需要特殊处理的话
(2)使用多态的思想,不论是什么子异常,统一看作父类型Exception
做出更加通用的解决方案,甚至可以只写这一个

2).向上抛出throws–交给别人解决
异常抛出的格式:
在方法的小括号与大括号之间,写:throws 异常类型
如果有多个异常,使用逗号分隔即可
(1)如果一个方法抛出了异常,那么谁来调用这个方法,谁就需要处理这个异常,这里的处理也有两种方案:捕获解决 或者 继续向上抛出
(2)不能直接把异常抛给main(),因为调用main()是JVM,没人解决了,该报错还报错,所以我们一般会在main()调用之前将异常解决掉

异常捕获处理的格式:
* try{
* 可能会抛出异常的代码
* }catch(预先设想的异常类型 异常名){
* 万一捕获到了异常,进行处理的解决方案
* }
* try-catch结构可以嵌套,如果多种异常类型需要特殊处理的话

(抽象)
1.被abstract修饰的方法是抽象方法,抽象方法没有方法体
2.一旦一个类中包含抽象方法,这个类必须被声明成抽象类
3.如果子类继承了抽象父类,有两中解决方案
1)方案1:抽象子类,躺平,实现一部分/不实现抽象父类中的抽象方法
2)方案2:普通子类,还债,实现抽象父类中所有的抽象方法
4抽象类不可以被实例化
5.抽象类有构造函数的,但是不是为了自己使用,为了子类super()调用
6.抽象类可以定义成员变量/成员常量
7.抽象类中可以定义全普/全抽/半普半抽
8.如果一个类不想被外界实例化,可以把这个类声明成抽象类
9.abstract关键字不可以与private static final共用

被abstract修饰的类是抽象类
如果一个类中包含抽象方法,那么这个类必须被声明成一个抽象类
被abstract修饰的方法是抽象方法,抽象方法没有方法体
当一个子类继承了抽象父类以后,有两种解决方案

  • 抽象类是否有构造方法?有
    既然抽象类不能实例化,为什么要有构造方法呢?
    不是为了自己使用,而是为了子类创建对象时使用super();

  • 抽象类是否有构造方法?有
    既然抽象类不能实例化,为什么要有构造方法呢?
    不是为了自己使用,而是为了子类创建对象时使用super();

9号和10号的学习内容相关推荐

  1. 北京地铁运营线路图,1号线,2号线,5号线,8号线,10号线,13号线,八通线和机场快轨

    北京地铁运营线路图现场照,1号线,2号线,5号线,8号线,10号线,13号线,八通线和机场快轨 前几天在地铁环线上拍摄的.

  2. 北京地铁运营线路图 1号线 2号线 5号线 8号线 10号线 13号线 八通线和机场快轨

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 北京地铁 ...

  3. 【汇编综合应用】大小写字母的转换、2号、9号和10号DOS系统功能调用、分支、循环程序结构、子程序、寄存器传递参数,宏定义、宏调用,观察宏展开。

    实验内容 编程实现:用10号DOS功能调用从键盘输入一串大小写字母到BUF为首址的缓冲区中,然后将其中的小写字母换成大写字母,原大写字母不变,仍然放入本缓冲区,再将该字符串内容在显示器上显示,且以十六 ...

  4. 10 号发工资和 20 号发工资的公司,区别竟然这么大?

    来源 | 南京本地宝 工资的话题 一直占据着职场热度榜单 这不 最近又热起来了 10号发工资和20号发工资, 就能看出一个公司是否靠谱? 对很多工薪族来说 发工资这一天 是脱贫致富的重要日子 也是很多 ...

  5. 10号发工资和20号发工资的公司,区别竟然这么大?

    来自[南京本地宝] 工资的话题 一直占据着职场热度榜单 这不 最近又热起来了 10号发工资和20号发工资, 就能看出一个公司是否靠谱? 对很多工薪族来说 发工资这一天 是脱贫致富的重要日子 也是很多人 ...

  6. 学习内容管理系统(LCMS)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

    报告页数: 150 图表数: 100 报告价格:¥16800 本文研究全球与中国市场学习内容管理系统(LCMS)的发展现状及未来发展趋势,分别从生产和消费的角度分析学习内容管理系统(LCMS)的主要生 ...

  7. 上车,在北京地铁10号线偶遇一下

    编辑部 发自 10号线  量子位 报道 | 公众号 QbitAI 这是一则号外推送. 感谢你长久以来的关注. 曾有你们中的某一位私信比喻,说量子位是一辆开往AI的地铁,表扬我们高效.稳定,日复一日不倦 ...

  8. 《Genesis-3D开源游戏引擎-FQA常见问题解答》2014年01月10号版本

    1.Genesis-3D开源游戏引擎主要面向哪些用户人群?有限制吗? 1.我们的引擎没有限制,只要您想了解和使用我们的引擎,就可以加入Genesis-3D的大家庭. 2.我们的主要用户群是各个相关的企 ...

  9. 2018明星学术公众号TOP 10重磅发布,PaperWeekly再度入选

    200 +学术公众号受到提名 21 个学术自媒体入围票选 一份科研人不容错过的 学术公众号榜单-- 为了促进学术传播.传递优质科研资源.服务广大科研群体,"科研圈"从 2016 年 ...

最新文章

  1. CentOS下配置VNCServer,重启服务仍然生效
  2. POST中文乱码解决方案
  3. eb8000软件怎样上传_百度网盘如何免费上传超过4G的文件?BitComet来帮你!
  4. gzip+chunked页面分段输出,resin gzip trunked无效,页面数据写入自定义buffer
  5. swift5 字符串格式化保留2 位,缺0自动补0
  6. JVM 调优系列之图解垃圾回收
  7. LeetCode刷题——Z字形变换
  8. 消除单点,一篇搞定 | 架构设计篇
  9. linux 权限分割,sudo使用之实现权限分配
  10. 【Python】pymysql.err.InternalError: (1236, 'Misconfigured master - server_id was not set')
  11. String,StringBuffer,StringBulilder之间的区别
  12. java 创建gbase,GBase 8t使用Java UDR的方法
  13. 语义错误和语法错误的区别
  14. 《谈谈方法》这本小书篇幅很短,然而想说的却很多
  15. win10无线网一直未连接到服务器,win10系统未识别无线网络无法连接怎么办
  16. 无法启动因为计算机丢失ac1st16,Win7启动CAD时提示丢失ac1st16.dll如何修复
  17. Spring Boot入门教程(三十五):支付宝集成-准备工作
  18. CH579蓝牙智能遥控器方案
  19. 小云计算机,小云路由器 web服务器
  20. Thinkpad T470p 在 Ubuntu 20.04 启用指纹识别

热门文章

  1. 锐捷防火墙RG-WALL 1600-M6600E配置
  2. pandas中的axis=0,axis=1具体含义(转)
  3. john lim php,成都环球中心天堂洲际大饭店总经理Mr.John Lim:E-Con系统开启智慧服务新时代!...
  4. 基于JAVA旅游路线规划系统计算机毕业设计源码+数据库+lw文档+系统+部署
  5. 统计多个wav文件的总音频时长
  6. 数字孪生智慧楼宇解决方案
  7. 69页园区智慧楼宇数字化平台建设方案(智慧办公楼、智慧大楼)
  8. 余有成人工智能_中国人工智能学会
  9. Excel:制作下拉选项
  10. 在Android上用PHP编写应用- PFA初探