Java - Overriding重写

本文参考这里

区别:

  • overload:重载,名相同/参数不同(类型/数目),即函数签名不相同。重载发生在同一个类内的两个或多个方法间,平行的关系。
  • override:重写、也译覆盖,函数签名相同。重写发生在父与子类之间,层次的关系。

子类从父类中继承到一个final方法,则可以在子类中对该方法进行重写(overriding)。

例子1:

class Animal
{public void move(){System.out.println("Animals-move");}
}class Dog extends Animal
{public void move()  // 重写overriding{System.out.println("Dogs-move");}
}Animal a = new Animal(); // Animal reference and object
Animal b = new Dog();    // Animal reference but Dog object
a.move(); // runs the method in Animal class
b.move(); // Runs the method in Dog class// 运行结果:
Animals-move
Dogs-move

例子2:

// MainTest.javaclass Animal
{void say(){System.out.println("animal say");}
}class Dog extends Animal
{@Overridevoid say(){System.out.println("dog say");}
}class Cat extends Animal
{@Overridevoid say(){System.out.println("cat say");}// for overload testvoid move(){System.out.println("cat move");}void move(int i){System.out.println("cat another move");}
}public class MainTest
{public static void main(String[] args){Animal a = new Animal();Animal b = new Dog();Cat c = new Cat();// overriding, 多态a.say();b.say();c.say();// overloadc.move();c.move(1);}
}// 运行结果:
animal say
dog say
cat say
cat move
cat another move

方法重写的规则(rules)

super 关键字

调用父类版本的方法 When invoking a superclass version of an overridden method the super keyword is used.


Java的Overriding重写-笔记相关推荐

  1. Java学习笔记二十二:Java的方法重写

    Java的方法重写 一:什么是方法的重写: 如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法. 语法规则 返回值类型.方法名.参数类型及个数都要与父类继承的 ...

  2. (CZ深入浅出Java基础)线程笔记

    这是刘意老师的JAVA基础教程的笔记 讲的贼好,附上传送门 传智风清扬-超全面的Java基础 一.线程的引入 1.多线程概述 进程 a.正在运行的程序,是系统进行资源分类和调用的独立单位. b.每个进 ...

  3. Java基础之重写与重载深入解析

    Java详解重写与重载 首语 总结java重写与重载的时候,在菜鸟教程看到很详细的解释,觉得很好,就搬过来了,侵删. url:https://www.runoob.com/java/java-over ...

  4. Java重载和重写6_深入理解Java中的重写和重载

    深入理解Java中的重写和重载 重载(Overloading)和重写(Overriding)是Java中两个比较重要的概念.但是对于新手来说也比较容易混淆.本文通过两个简单的例子说明了他们之间的区别. ...

  5. 《疯狂Java讲义》学习笔记 第六章 面向对象(下)

    <疯狂Java讲义>学习笔记 第六章 面向对象(下) 6.1包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char ...

  6. 慕课Java第三季学习及笔记整理

    学习网址及截图和部分图片来源:https://www.imooc.com/learn/110 慕课Java第三季学习及笔记整理 一.异常与异常处理 1-1 java异常简介 概念 异常体系结构 1-2 ...

  7. Java基础知识之笔记总结分享

    Java基础知识之笔记总结分享 给大家分享一篇我之前在学习java过程中的关于java基础部分的笔记,比较详细,内容也比较多. 如有问题请指出以便修改,谢谢. 篇幅较长建议收藏浏览. 1 环境变量配置 ...

  8. 【牛客网java练习错题笔记】 --Java基础打卡day002

    [牛客网java练习错题笔记] --Java基础打卡day002 1 根据以下代码段,正确的是 2 在Java中,在同一包内,类Cat里面有个公共方法sleep(),该方法有static修饰,所以可以 ...

  9. Java基础知识之笔记总结分享(超详细)

    给大家分享一篇我之前在学习java过程中的关于java基础部分的笔记,比较详细,内容也比较多. 如有问题请指出以便修改,谢谢. 篇幅较长建议收藏浏览. 1 环境变量配置 JAVA_HOME:jdk路径 ...

最新文章

  1. nGrinder性能测试平台搭建(LVS压力测试)
  2. 第六章 PX4-Sensors解析
  3. EditText常用属性总结
  4. 一起谈.NET技术,使用WCF实现SOA面向服务编程—— 架构设计
  5. 蓝桥杯2019年第十届C/C++省赛A组第三题-最大降雨量
  6. TListView列表拒绝添加重复信息
  7. SQL日期格式化处理
  8. android组件不能加适配器,Android 针对继承BaseAdapter的自定义适配器应注意的几个地方...
  9. 蓝屏代码大全 蓝屏全攻略
  10. 单招面试问为什么选择计算机这个专业,单招面试常见问题及答案 面试要注意什么...
  11. IDEA中解决Spring 配置文件未受管束问题,提示:Unmapped Spring configuration files found
  12. 算法:经典leetcode算法题解
  13. 计算机在职双证博士的学校,双证在职博士招生院校有哪些?
  14. 干货 | 全行业薪酬一览表,建议收藏!
  15. Autosar BSW开发必知的“术语”+“缩写”概念-1-诊断通信篇
  16. for循环中的break与continue
  17. 解决jupyter notebook无法跳转浏览器
  18. C语言:关键字---struct(声明结构体类型)
  19. 猿创征文|使用SQL创建学生信息管理数据库(完整)
  20. with respect to是什么意思?

热门文章

  1. 【计算机组成原理】实验4:单周期CPU(Verilog)中海大
  2. 数据结构和算法真的“难”吗?其实也不见得...
  3. 栈和队列的插入、删除等基本操作
  4. js判断字符串包含英文;js判断字符串包含汉字;
  5. excel单元格的相对引用和绝对引用
  6. 解决软件服务定制化的问题,众包模式还需要接受哪些考验?
  7. 荧光定量pcr探针法实验检测服务
  8. Easy Connect提示:无法连接服务器,请检查网络
  9. 《代码大全》中的Metaphors
  10. 查找数组中的重复元素