【套装4本】java编程思想4第4版+

402.5元

包邮

(需用券)

去购买 >

一、方法的重写概念

之前说了子类如果继承了一个父类,那么子类就会拥有父类的方法(不包括构.造方法)和属性,此时如果在子类中定义了一个和父类一样的方法,这种现象叫做子类覆写(重写)了父类的方法。

DEMO:重写父类父类方法

以上的代码如果实例化一个Stundent子类对象,然后调用getInfo()则调用的是子类还是父类的getInfo()方法呢?

DEMO:观察代码

发现了调用的是子类中的方法,就是说子类的getnfo()覆盖了父类的getInfo()方法,其实上在调用的时候先在子类中查找调用的方法,如果有则直接调用,如果没有就往父类中查找,如果还没有继续往父类的父类中查找,如果最终都没有找到,则编.译不通过。

二、实现覆写需要哪些要求

1、要求子类的方法名称和父类的一致,而且参数列表要一致。

在主方法调用了getInfo()方法,会Student类中查找该方法,但是Student类中没有这个无参数的getInfo()方法,所以往父类中查找,最后就调用了父类的getInfo()

2、如果子类的方法的访问权限和父类的方法的访问权限不同呢?

子类中重写的方法的访问权限只能比父类的大,不能比父类的小,也就是说子类重写的方法不能拥有比父类更为严格的访问权限(正常开发访问权限都是一样的)。

3、如果子类覆写的方法和父类的方法返回值不一样呢?

如果父类方法和子类覆写 的方法的访问权限一样则返回值必须一致,如果访问权限不一样则返回值可以不--致(正常开发中返回值和访问权限都是--致的)

面试题:请说明重载和重写的区别?

●重载:

发生在一个类中

对返回值没有要求(但是正常都会保持- -致)

对访问权限没有要求(但是正常都会保持一致)

表示重载的单词是overloading

●重写:

发生在继承关系中(子类和父类)

子类不能拥有比父类更小的访问权限

如果子类和父类访问权限--致则返回值必须要相同,否则可以不同

表示重写的单词是override

总结:

1、方法重写的概念

2、方法重写的要求.

3、如果子类覆写了父类的方法,那么在调用的时候是调用子类的方法

有完整的Java初级,高级对应的学习路线和资料!专注于java开发。分享java基础、原理性知识、JavaWeb实战、spring全家桶、设计模式、分布式及面试资料、开源项目,助力开发者成长!

欢迎关注微信公众号:码邦主

java 11官方入门(第8版)教材

79.84元

包邮

(需用券)

去购买 >

Java中field的覆写_Java中方法的覆写相关推荐

  1. java实体类怎么写_Java中(entity)实体类的书写规范

    在日常的Java项目开发中,entity(实体类)是必不可少的,它们一般都有很多的属性,并有相应的setter和getter方法.entity(实体类)的作用一般是和数据表做映射.所以快速写出规范的e ...

  2. java中相对路径怎么写_java中如何使用相对路径读取文件

    java中使用相对路径读取文件的方法:1.使用文件[File file = new File("src/test.txt")]方法:2.使用类的相对路径:3.使用当前线程的类加载器 ...

  3. java中为什么要用注解_java中的注解,真的很重要,你理解了嘛?

    这篇文章开始讲解java中的注解,在平时的开发当中我相信你或多或少的接触过注解.比如你可能都见过@override,它代表的就是一个注解.但是,为了更加清晰的去介绍注解,我还是先给出一个例子,让你能够 ...

  4. java的异常有哪些类_Java中的异常类型有哪些

    1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...

  5. java super是引用变量吗_Java中super的几种用法并与this的区别

    1.     子类的构造函数如果要引用super的话,必须把super放在函数的首位. class Base { Base() { System.out.println("Base" ...

  6. java list 去重 相同的相加_Java 中的数据流和函数式编程 | Linux 中国

    学习如何使用 Java 8 中的流 API 和函数式编程结构.-- Marty Kalin 当 Java SE 8(又名核心 Java 8)在 2014 年被推出时,它引入了一些更改,从根本上影响了用 ...

  7. java中输出时 什么作用_JAVA中输入和输出处理(Java I/O)重点总结

    文件-使用File类操作文件: 什么是文件?  文件可认为是相关记录或放在一起的数据的集合. 文件一般存储在哪里?  储存在存储设备里. Java程序如何访问文件?  Java API:java.io ...

  8. java 怎么把list流化_Java 中的数据流和函数式编程

    原标题:Java 中的数据流和函数式编程 学习如何使用 Java 8 中的流 API 和函数式编程结构.-- Marty Kalin(作者) 当 Java SE 8(又名核心 Java 8)在 201 ...

  9. java中volatile关键字的含义_java中volatile关键字的含义

    转自:http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html 在java线程并发处理中,有一个关键字volatile的使用目前存 ...

最新文章

  1. Linux多台服务器共用密钥ssh自动登陆
  2. python的assert(断言)异常步骤机制
  3. 常考数据结构与算法:进制转换
  4. tcp 的ack, seq
  5. 托盘图标菜单_全新开始菜单和任务栏,Windows 10X 抢先体验
  6. 客户连接多个服务端_Dubbo源码解析之客户端Consumer
  7. leetcode 368. Largest Divisible Subset | 368. 最大整除子集(动态规划详解)
  8. 2017年,我的身边发生了那些事?
  9. 20款漂亮的长阴影 LOGO 设计作品【附免费生成工具】
  10. VSTS2008和FTS2008的系统要求好高啊~
  11. Python2、3字典比较函数
  12. Javascript的websocket的使用方法
  13. 随机森林-科比生涯数据集分析与预测
  14. 小宝挪车自研第二代挪车通知技术,保护隐私无死角!
  15. 小甲鱼Python第十九讲(函数,我的地盘听我的)
  16. 学习微信小程序开发框架之了解JavaScript
  17. 细节6:算术右移和逻辑右移
  18. 管理的角度分析:团队建设、团队管理、团队文化、沟通与辅导、招聘与解雇等
  19. 苹果ios超级签名源码包java版带分发页面支持安卓合并
  20. SpringBoot+vue实现前后端分离的简历系统

热门文章

  1. Python学习笔记:常用第三方模块(1)
  2. 一文解决new/delete与malloc/free相关问题:区别?注意事项?使用方式?
  3. list::splice函数的用法与参数解释
  4. Matlab对话框总结
  5. [云炬python3玩转机器学习] 5-3简单线性回归的实现
  6. [C++调试笔记]diag.cpp
  7. VTK修炼之道62:体绘制_固定点光线投影体绘制与GPU加速光线投影体绘制
  8. Nhibernate 三种配置方式
  9. WINDOWS键盘事件的挂钩监控原理及其应用技术
  10. 从后台传给前台的url字符串值的注意事项