TypechoJoeTheme

Clover 的博客

统计
登录
用户名
密码
/
注册
用户名
邮箱

CloverYou

日出于东却落于西,相识人海却散于席。
文章目录

7、Java方法重载

2022-01-02
/
0 评论
/
24 阅读
/
正在检测是否收录...
01/02

使用

以下程序有哪些缺点?

public class overLoad{
  public static void main(String[] args){
    int a = sumInt(1, 2);
    double b = sumBouble(1.0, 2.0);
    long c = sumLong(1L, 2L);
  }
  public static int sumInt(int a, int b){
      return a + b;
    }
  public static double sumDouble(double a, double b){
    return a + b;
  }
  public static long sumLong(long a, long b){
    return a + b;
  }
}
  1. sumInt sumLong sumDouble 方法虽然不同,但是功能相似,都是求和
  2. 以上程序当中功能相似的方法,分别起了三个不同的名字,这对于程序员来说,调用方法的时候不方便,程序员需要记忆更多的方法。

有没有这样一种机制:

    这些功能虽然不同,但是**功能相似**的时候,可以让程序员使用这些方法的时候就像在使用同一个方法一样,这        样程序员以后编写代码比较方便,也不许要记忆更多的方法名。

有这种机制:

  • Java提供了方法重载机制overload
  • 不是所有语言都支持重载机制,例如: JavaScript 就不支持

改写

public class overLoad{
  public static void main(String[] args){
    int a = sum(1, 2);
    double b = sum(1.0, 2.0);
    long c = sum(1L, 2L);
  }
  public static int sum(int a, int b){
      return a + b;
    }
  public static double sum(double a, double b){
    return a + b;
  }
  public static long sum(long a, long b){
    return a + b;
  }
}

重载:

  • 使用时就像在使用一个方法,但实际上是使用了 3 个方法。
  • 调用时会根据传递的:参数类型,对应调用的方法不同。

理论

方法重载:

  1. 方法重载又被称为:overload
  2. 什么时候考虑使用方法重载?

    • 功能相似的时候,尽可能选择重载「功能不同、不相似的时候,尽可能让方法名不同」
  3. 什么条件满足之后构成了方法重载?

    • 同级
    • 方法名相同
    • 参数列表

      • 参数长度
      • 类型不同
      • 顺序不同
  4. 方法重载和什么有关系,和什么没有关系?

    • 和方法名 + 参数列表有关
    • 和返回值类型无关
    • 修饰符列表无关
JAVA学习笔记
朗读
赞(0)
版权属于:

Clover 的博客

本文链接:

https://www.ctong.top/index.php/archives/14/(转载时请注明本文出处及文章链接)

评论 (0)
CloverYou
日出于东却落于西,相识人海却散于席。
88 文章数
11 评论量
IP信息

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. 缓存一致性 - 点击领取
    2022-01-06
  2. 宝宝
    2022-01-02

标签云