Java語言基礎(chǔ)8--方法重載(Overload)

遇到什么問題

需求1:求兩個int類型的數(shù)之和.
public static int getSum1(int a,int b){}
需求2:求兩個float類型的數(shù)之和.
public static float getSum2(float a,float b){}
需求3:求兩個long類型的數(shù)之和.
需求4:求兩個double類型的數(shù)之和.


**上述問題的功能,都是求和,但是因為參數(shù)列表不同而造成了方法的名稱不同,就給我們帶來很大不利.既然功能相同了,那么方法也應(yīng)該相同**

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

###什么是方法重載(Overload)
重載方法的定義是在同一個類中,某方法允許存在一個以上的同名方法,只要它們的參數(shù)列表不同即可。
###方法重載的作用
屏蔽了同一功能的方法由于參數(shù)不同所造成的差異
###使用規(guī)則
方法重載判斷原則: **“兩同一不同”**
- **兩同**:同類中,方法名相同;
- **一不同**:方法參數(shù)列表不同(參數(shù)類型、參數(shù)個數(shù)、參數(shù)順序);
**注意:方法重載和方法的返回值類型無關(guān)**

###應(yīng)用場景
- 最常用的應(yīng)用場景:**構(gòu)造器的重載**
```
class User {
  private String name;
  private int age;
  private String id;

  //無參構(gòu)造器
  public User() {
  }

  //自定義構(gòu)造器
  public User(String name, int age, String id) {
      this.name = name;
      this.age = age;
      this.id = id;
  }
}
```
- Java代碼中最常見的使用
為什么`System.out.println();`可以打印任意類型的數(shù)據(jù)?
>查看源代碼發(fā)現(xiàn)存在:
` public void println(boolean x);`
`public void println(char x);`
` public void println(long x);`
`public void println(float x);`
等等代碼.
很顯然,這是方法重載的一個應(yīng)用.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,740評論 18 399
  • 小編費力收集:給你想要的面試集合 1.C++或Java中的異常處理機(jī)制的簡單原理和應(yīng)用。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 5,234評論 1 114
  • 1、一個".java"源文件中是否可以包括多個類(不是內(nèi)部類)?有什么限制?答:可以有多個類,但只能有一個publ...
    岳小川閱讀 1,025評論 0 2
  • (一)Java部分 1、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,265評論 0 62
  • 生活苦 該有一些幼稚的甜 就像簡單的期許明天考試會過 或是輕松的做下一整套卷子 心情苦的時候渾身都難受 心里甜的時...
    叫小迷糊的姚文靜閱讀 189評論 2 2

友情鏈接更多精彩內(nèi)容