【零基础学Java】—重写(二十)

一、重写和重载

  • 重写(Override):在继承关系当中,方法的名称一样,参数列表一样。重写又称为方法的覆盖、覆写。
  • 重载(Overload):方法的名称一样,参数列表不一样
  • 方法的覆盖重写的特点:创建的是子类对象,则优先使用子类方法

方法覆盖重写的注意事项:

  • 必须保证父子类之间方法的名称相同,参数列表也相同
  • @Override:写在方法的前面,用来检测是不是有效的正确覆盖重写,这个注解就算不写,只要满足要求,也是正确的方法覆盖重写
  • 子类方法的返回值必须小于等于父类方法的返回值
  • java.lang.Object类是所有类的公共最高父类(祖宗类), java.lang.String就是Object的 子类
  • 子类方法的权限必须【大于等于】父类方法中的权限修饰符
  • 小扩展提示:public>protected>(default)>private( 备注:(default)不是关键字default ,而是什么都不写,留空)
    二、在这里插入代码片
public class Phone {public  void call(){System.out.println("打电话");}public void send(){System.out.println("发短信");}public void show(){System.out.println("显示号码");}
}
//定义一个新手机使用老手机作为父类
public class newPhone extends Phone {@Overridepublic void show() {super.show();//把父类的show方法拿过来重复使用//自己子类再来添加更多的内容System.out.println("显示姓名");System.out.println("显示头像");}
}
/*** @author :CaiCai* @date : 2022/4/9 15:15*/
public class demo01Phone {public static void main(String[] args) {Phone phone =new Phone();phone.call();phone.send();phone.show();System.out.println("=======");newPhone NewPhone=new newPhone();NewPhone.call();NewPhone.send();NewPhone.show();}
}

二、继承中构造方法的访问特点

继承关系中,父子类构造方法的访问特点:
1、子类构方法中有一个默认隐含的super()调用,所以一定是先调用的父类构造方法,后执行的子类构造

2、子类构造可以通过super关键字来子类构造调用父类重载构造

3、super的父类构造调用,必须是子类构造方法的第一个语句,不能一个子类构造调用多次super构造

总结:子类必须调用父类构造方法,不能赠送super(),写了则用写的super指定调用,super只能有一个,还必须是第一个

三、super关键字的三种形式

  • 在子类的成员方法中,访问父类的成员变量
  • 在子类的成员方法中,访问父类的成员方法
  • 在子类的构造方法中,访问父类的构造方法

【零基础学Java】—重写(二十)相关推荐

  1. sdram 时钟相位_零基础学FPGA (二十五)必会! 从静态时序分析到SDRAM时序收敛(下篇)...

    七.SDRAM工作时钟相位偏移计算本文引用地址:http://www.eepw.com.cn/article/279083.htm 从上篇文章中我们知道,我们的数据是要经过一定的延时才会到达目标器件的 ...

  2. 【零基础学Java】—final关键字与四种用法(二十九)

    [零基础学Java]-final关键字与四种用法(二十九) 一.final关键字 final关键字代表最终.不可改变的 常见的四种用法: 可以用来修饰一个类 可以用来修饰一个方法 可以用来修饰一个局部 ...

  3. 【零基础学Java】—继承父类并实现多个接口(二十五)

    [零基础学Java]-继承父类并实现多个接口(二十五) 一.使用接口的注意事项 1️⃣接口是没有静态代码块或者构造方法的 2️⃣一个类的直接父类是唯一的,但是一个类可以同时实现多个接口 3️⃣如果实现 ...

  4. 【零基础学Java】—Java 日期时间(三十二)

    [零基础学Java]-Java 日期时间(三十二) DateFormat 是日期/时间格式化子类的抽象类,它以语言无关的方式格式化和分析日期或时间. 日期/时间格式化子类(如SimpleDateFor ...

  5. 【零基础学Java】—笔记本USB接口案例(二十八)

    [零基础学Java]-笔记本USB接口案例(二十八) 一.笔记本电脑 笔记本电脑(laptop)通常具备使用USB设备的功能,在生产时,笔记本都预留了可以插入USB设备的USB接口,但具体什么是USB ...

  6. 【零基础学Java】—Random的基本概述和使用(十二)

    [零基础学Java]-Random的基本概述和使用(十二) Random类用来生成随机的数字,使用起来也是三个步骤 导包:import java.util.Random; 创建:Random r=ne ...

  7. 【零基础学Java】—多线程(四十九)

    [零基础学Java]-多线程(四十九) 一.并发与并行 并发:指两个或多个事件在同一时间段内发生 并行:指两个或多个事件在同一时刻发生(同时发生) 二.进程和线程

  8. 【零基础学Java】—throw关键字(四十六)

    [零基础学Java]-throw关键字(四十六) 一.throw关键字 public class demo {public static void main(String[] args) {//创建i ...

  9. 【零基础学Java】—继承的概述(十九)

    [零基础学Java]-]继承的概述(十九) 一.面向对象的三大特征 面向对象的三大特征:封装性,继承性,多态性 继承是多态的前提,如果没有继承,就没有多态 继承解决的主要问题就是:共性抽取 继承关系的 ...

最新文章

  1. 动态规划走楼梯_动态规划问题为什么要画表格?
  2. JOGL - Java与OpenGl的绑定(转)
  3. 产品诞生过程--导图
  4. linux history 历史命令行查询和使用
  5. node js 部署相关
  6. 以核心体验设计为引,深入剖析“打铁”游戏《只狼》的精妙之处
  7. 面试官:面对千万级、亿级流量怎么处理?
  8. svn://127.0.0.1/shop
  9. PAT1030.——完美数列
  10. 在线框架引用|bootstrap|jq|jqmobile|CSS框架_无需整理
  11. mysql 身份证 年龄_mysql 中通过身份证号码计算年龄
  12. [转帖]国之魂,民之魂(硬骨头六连16勇士的最后一张照片)
  13. 用python画分析曲线图
  14. 【亿可控】第一天系统分析与设计
  15. IP Prefix-List简明扼要笔记
  16. 用python3写一个小球转动的抽奖小游戏
  17. java74-GUL面板
  18. urllib库用POST请求模仿有道在线翻译
  19. IBM MQ 搭建测试环境并测试消息的发送和接收
  20. 『DNS隧道工具』— dns2tcp

热门文章

  1. 北京发布全国首个“水下物联网”系统
  2. 前端工程师技能之photoshop巧用系列第一篇——准备篇
  3. nginx负载均衡文件服务器配置虚拟目录代理refer防盗链
  4. zabbix 之 磁盘发现脚本
  5. Web Developer——瑞士军刀一样的FF插件
  6. 【POI 2007】Ridges and Valleys山峰和山谷(GRZ)
  7. 数据库设计原理【B树、B-树、B+树】
  8. RTOS原理与实现04:任务管理模块
  9. 【Opencv系列】之显示图像以及使用鼠标截取图像局部区域进行放大
  10. C++ explicit关键字应用方法详解