概述

Java 的多态中,有个结论可以直接引用:

  • 对象类型看左边
  • 静态方法和成员变量看左边
  • 成员方法,编译看左边,运行看右边(子类可能重写)
  • 如果有多个匹配的方法可以调用,优先调用参数最匹配的一个

调用顺序

现在有这么一段代码

Parent p = new Son();
// do something here....
  • 首先看父类中是否存在可以匹配的方法
  • 如果父类中不存在,那么编译出错
  • 如果父类中存在
    • 如果父类中有多个匹配的方法,则寻找最匹配的那个方法,例如 method(Integer a)method(Number a),如果传入的参数是 Integer(1),则会匹配前面的方法
    • 然后还要看子类是否重写这个方法
      • 子类没有重写,则直接调用父类中的方法
      • 子类重写了,则调用子类中的方法

Java 父子类方法调用顺序相关推荐

  1. java 父子线程 调用链_ZipKin原理学习--Zipkin多线程及线程池中追踪一致性问题解决...

    在学习Zipkin分布式追踪系统中我们了解到Trace在整个调用链是一致的,在web服务中可以通过在header设置Trace值在不同的服务中进行传递,那样在一个服务内部不同的线程,甚至是线程池中Zi ...

  2. java继承构造方法调用顺序

    第一种情况: 运行结果: People(String name) Child(String name) 分析:1.首先根据带参数的对象去找相应类的构造方法,在Child类中找到了带参数的构造方法, 2 ...

  3. java排序方法调用_Java实现顺序查找、二分查找、冒泡排序、方法调用

    上帝没给我成为富二代的机会,但是给了我成为富一代的机会! 主子很萌:敲代码是个快乐的过程代码截图/图1 题目题目/图2 程序源代码 import java.util.Scanner; /** * * ...

  4. java中构造代码块、方法调用顺序问题

    1. 继承的概念 继承在本职上是特殊--一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 2. 继承中的初始化顺序 从类的结构上而言,其 ...

  5. java静态初始化块无法直接调用,关于JAVA静态初始化块,初始化块,构造器调用顺序的有关问题...

    关于JAVA静态初始化块,初始化块,构造器调用顺序的问题 一个简单的关于初始化块,静态初始化块,构造器的执行顺序的小例子,请大家参考: 父类如下: package test.jamin; /** * ...

  6. java 静态成员 创建_Java学习笔记11---静态成员变量、静态代码块、成员变量及构造方法的初始化或调用顺序...

    当创建一个对象时,各种成员变量及构造方法的初始化或调用顺序是怎样的呢? (1).如果类尚未加载,则先初始化静态成员变量和静态代码块,再初始化成员变量,最后调用相应的构造方法: (2).如果类已经加载过 ...

  7. Java代码块(代码块与静态代码块使用细节及调用顺序)

    目录 1.代码块的基本介绍 2.静态代码块 类什么时候加载[重点] 创建对象实例时(new) 创建子类对象实例时,父类也会被加载 使用类的静态成员时(静态属性,静态方法) 3.代码块的使用小细节 普通 ...

  8. 构造方法的调用顺序和成员变量的初始化时机以及动态绑定

    构造方法的调用顺序:子类构造器中,JVM会自动的先调用父类的构造方法,然后再执行子类构造方法.在JVM自动调用父类构造方法的时候,会完成父类中拥有的成员变量的值的初始化操作,此时子类的成员变量并未初始 ...

  9. Java方法完整调用链生成工具

    1. 前言 在很多场景下,如果能够生成Java代码中方法之间的调用链,是很有帮助的,例如分析代码执行流程.确认被修改代码的影响范围.代码审计/漏洞分析等. IDEA提供了显示调用指定Java方法向上的 ...

最新文章

  1. 我在PMCAFF,感觉身体被掏空
  2. 嵌入式处理器分类现状
  3. 浅谈iOS 开发中的界面通信
  4. JZOJ 5600. 【NOI2018模拟3.26】Arg
  5. kinect数据读取
  6. 使用Spring Integration进行消息处理
  7. wps图表xy轴颠倒_用EXCEL来搞艺术之图表类型变换
  8. Delphi手机短信
  9. 为什么越来越多的人喜欢旅游?
  10. 10g CRS Clustware Installation安装图
  11. 安卓自定义控件之设计自己的提示dialog
  12. linux apache gzip压缩,Linux入门教程:配置Apache开启gzip压缩传输,gzip压缩 LoadModul
  13. 狐智、狼道、鹰谋,教你做个聪明的生存者!
  14. ASP 读取Word文档内容简单示例
  15. Ubuntu下WPS 快捷键、使用方法总结
  16. 计算机系统动态库修复,无法定位程序输入点于动态链接库修复解决方法 | 专业网吧维护...
  17. xp系统怎样启动打印机服务器,WinXP系统打印后台程序服务没有运行的解决办法...
  18. 实验六—基本数据管理(三)
  19. Island Transport
  20. htmltestrunner解决错误日志出界问题

热门文章

  1. 术中导航_密码术中的计数器(CTR)模式
  2. C程序对整数中设置为1的位数进行计数
  3. 再见Postman,这款API神器更好用!
  4. linq to js使用汇总
  5. 如何让nodejs同步操作
  6. Visual Studio扩展工具添加与卸载
  7. jQuery.html()方法ie下不能设置html代码的问题
  8. Android 一直往文件写数据_对标苹果 AirDrop,Google 为安卓开发了一个文件传输利器...
  9. php对象数组转数组_php 数组对象互相转换
  10. 计算机科学导论考试A卷试题,09级计算机科学导论A卷答案