zoukankan      html  css  js  c++  java
  • JVM学习:方法重载的优先级

    重载:方法名一致,参数长度或者类型不一致。

    先放总结,下面为例子

    1. 参数具有继承、实现关系,优先考虑子类;
    2. 在不考虑对基本类型自动装拆箱(auto-boxing,auto-unboxing),以及可变长参数的情况下选取重载方法;
    3. 如果在第 1 个阶段中没有找到适配的方法,那么在允许自动装拆箱,但不允许可变长参数的情况下选取重载方法;
    4. 如果在第 2 个阶段中没有找到适配的方法,那么在允许自动装拆箱以及可变长参数的情况下选取重载方法。

     小tip:

      父类中的方法可以和子类中的方法构成重载

    一、常用重载

      下图例子,很简单

      

    二、参数具有父子关系

      当参数是具有继承/实现的逻辑时,优先选择子类

    三、基本类型拆装

      先不考虑拆装箱进行匹配,所以出现了图2的情况,先匹配long,后匹配Integer

      

     四、可变长参数

      先不考虑可变长

  • 相关阅读:
    C#入门(3)
    C#入门(2)
    C#入门(1)
    JNI工程搭建及编译
    Java-NestedClass(Interface).
    ConCurrent in Practice小记 (4)
    Java Annotation 注解
    Android使用ViewPager做轮播
    ConCurrent in Practice小记 (3)
    ConCurrent in Practice小记 (2)
  • 原文地址:https://www.cnblogs.com/ggwow/p/10218796.html
Copyright © 2011-2022 走看看