<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、若僅滿足方法的返回型別不同,不屬於方法過載。
方法過載的目的是什麼?
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(); }}