美文网首页程序员
Java语言基础8--方法重载(Overload)

Java语言基础8--方法重载(Overload)

作者: buzhidao_ | 来源:发表于2016-11-23 17:20 被阅读0次

遇到什么问题

需求1:求两个int类型的数之和.
public static int getSum1(int a,int b){}
需求2:求两个float类型的数之和.
public static float getSum2(float a,float b){}
需求3:求两个long类型的数之和.
需求4:求两个double类型的数之和.


**上述问题的功能,都是求和,但是因为参数列表不同而造成了方法的名称不同,就给我们带来很大不利.既然功能相同了,那么方法也应该相同**

###怎么解决?
使用方法重载(Overload).
> public static int getSum(int a,int b){}
public static int getSum(float a,float b){}

###什么是方法重载(Overload)
重载方法的定义是在同一个类中,某方法允许存在一个以上的同名方法,只要它们的参数列表不同即可。
###方法重载的作用
屏蔽了同一功能的方法由于参数不同所造成的差异
###使用规则
方法重载判断原则: **“两同一不同”**
- **两同**:同类中,方法名相同;
- **一不同**:方法参数列表不同(参数类型、参数个数、参数顺序);
**注意:方法重载和方法的返回值类型无关**

###应用场景
- 最常用的应用场景:**构造器的重载**
```
class User {
  private String name;
  private int age;
  private String id;

  //无参构造器
  public User() {
  }

  //自定义构造器
  public User(String name, int age, String id) {
      this.name = name;
      this.age = age;
      this.id = id;
  }
}
```
- Java代码中最常见的使用
为什么`System.out.println();`可以打印任意类型的数据?
>查看源代码发现存在:
` public void println(boolean x);`
`public void println(char x);`
` public void println(long x);`
`public void println(float x);`
等等代码.
很显然,这是方法重载的一个应用.

相关文章

  • Java语言基础8--方法重载(Overload)

    遇到什么问题 需求1:求两个int类型的数之和.public static int getSum1(int a,i...

  • JAVA基础_方法的重载

    java语言当中的方法的重载: 1、方法重载又称为Overload 2、方法重载什么时候使用?【当在同一个类中,方...

  • 方法重载与方法重写(@Overload @Override)

    java方法重载和方法重写(方法覆盖)的区别: 方法重载: Overload 方法重写: Override 批判,...

  • Java中重载和覆盖(重写)的区别

    Java中重载和覆盖(重写)的区别 1,基本概念 重载(Overload) Java中的方法重载发生在同一个类里面...

  • java与Android知识点

    Java基础 什么是重载,什么是重写?有什么区别?重载(Overload):(1)Overloading是一个类中...

  • 方法重载overload,方法重写override,隐藏new

    方法重载overload,方法重写override,隐藏new 1.方法重载overload:同一个类中有两个或多...

  • 2019-03-01

    方法 方法的基础语法-方法的重载机制overload 方法【method】的本质 代码片段,且这段代码可以完成某个...

  • JAVA基础之重写和重载

    重写和重载详细区分: Java 重写(Override)与重载(Overload) | 菜鸟教程 核心区分:重写(...

  • Java面试题

    1、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分? 答:方法的重载...

  • 方法重载

    方法重载Overload 方法重载是java/c++里面的一个特性,目的是为了可以在参数不同的情况下,访问同一个方...

网友评论

    本文标题:Java语言基础8--方法重载(Overload)

    本文链接:https://www.haomeiwen.com/subject/hyevpttx.html