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

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

    先放总结,下面为例子

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

     小tip:

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

    一、常用重载

      下图例子,很简单

      

    二、参数具有父子关系

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

    三、基本类型拆装

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

      

     四、可变长参数

      先不考虑可变长

  • 相关阅读:
    题解报告:hdu 2062 Subset sequence
    CSS3滑块菜单
    CSS3环形动画菜单
    可折叠显示的发光搜索表单
    Tab动画菜单
    侧边自定义滚动条
    css3条纹边框效果
    css3图片过滤效果
    CSS3图片悬停放大动画
    CSS3响应式侧边菜单
  • 原文地址:https://www.cnblogs.com/ggwow/p/10218796.html
Copyright © 2011-2022 走看看