java overload

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java overload是什麼,讓我們一起了解一下?

overload是在Java程式中實現方法的過載,同一個類可以有兩個或者多個方法名字相同,只要引數不同即可。應當注意的是,必須是在同一個類中、方法名相同、方法引數的個數、順序或型別不同、與方法的修飾符或返回值沒有關係。

overload的規則是什麼?

1、方法名稱必須相同。
2、引數列表必須不同,即引數個數、引數型別或引數順序中任有一個不同。
3、方法的返回型別可以相同也可以不同,對此無限制。
4、若僅滿足方法的返回型別不同,不屬於方法過載。

java overload

方法過載的目的是什麼?

1、方法過載的主要好處就是,不用為了對不同的引數型別或引數個數,而寫多個函式。多個函式用同一個名字,但引數表,即引數的個數或(和)資料型別可以不同,呼叫的時候,雖然方法名字相同,但根據引數表可以自動呼叫對應的函式。

2、過載的最直接作用是方便了程式設計師可以根據不同的引數個數,順序,型別,自動匹配方法,減少寫過個函式名或方法名的重複步驟。

實戰案例:

package com.test;class MyClass {    int height;    MyClass() {        System.out.println("呼叫無引數建構函式");        height = 4;    }    MyClass(int i) {        System.out.println("呼叫有引數建構函式");        height = i;    }    void info(int a, String s) {        System.out.println(s+":房子高度為 "+height + " 米");    }    void info(String s, int a) {        System.out.println("引數順序不同構成過載:" +s + ": 房子高度為 " + height + " 米");    }    int info(int b, int a) {        System.out.println("方法修飾符可以不同" +": 房子高度為 " + height + " 米");        return a+b;    }    float info(int b, int a, float c) {        System.out.println("方法返回值型別可以不同" +": 房子高度為 " + height + " 米");        return a+b;    }}public class Ytt {    public static void main(String[] args) {        MyClass t = new MyClass(3);        t.info(1,"測試1");        t.info("測試2",2);  //引數順序不同構成過載        t.info(1,2);        //方法修飾符可以不同,方法返回值型別不影響過載        t.info(1,2,6f);  //方法返回值型別可以不同        //過載建構函式        new MyClass();      }}