Java 中的函數重載是指存在具有相同名稱但傳遞給它的參數數量不同的函數,這些參數的資料可能不同,如int、double、float,並且用於返回不同的值,並且在各自的重載內部計算方法。函數重載用於透過涉及更多隔離的函數來降低複雜性並提高程式的效率,這些函數可用於區分彼此的各自功能。重載函數與編譯時或多態性相關。還有一個型別轉換的概念,基本上用在重載函數中,用來計算變數中類型的轉換。
文法
廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗重載函數具有相同的名稱,但分配給它們的參數或參數類型不同。它們可用於計算方法中分配的變數數量內的數學或邏輯運算。重載函數的語法如下所示,其中最多分配了 N 個變數。
public class OverloadedMethod { public int FunctionName(int x, int y) //Two parameters in the function { return (x + y); //Returns the sum of the two numbers } // This function takes three integer parameters public int FunctionName(int x, int y, int z) { return (x + y + z); } // This function takes two double parameters public double FunctionName(double x, double y) { return (x + y); }//Many more such methods can be done with different number of parameters // Code used to input the number and public static void main(String args[]) { FunctionName s = new FunctionName(); System.out.println(s.FunctionName(10, 20)); System.out.println(s. FunctionName(10, 20, 30)); System.out.println(s. FunctionName(10.5, 20.5)); } }
函數重載的工作原理是呼叫具有相同名稱但傳遞給它的參數數量不同的不同函數。有許多編碼範例可以顯示,以便正確識別函數重載的優點和缺點。
函數重載具有相同的名稱。因此,我們不必創建與各自函數內完成的工作具有相同功能的方法。該功能不僅解決了命名衝突的問題,還提高了程式的可讀性。
以下範例如下:
在編碼範例1中,我們將看到重載的main(),它用於在面板中顯示不同的輸出,並展示重載的main()在程式語言中的使用以及不同函數的調用如何產生不同的輸出,分別。
代碼:
//Java program with overloaded main() import java.io.*; public class Test { // First main method which is created public static void main(String[] args) { System.out.println("Main function called"); Test.main("Everyone"); } // First overloaded main method public static void main(String ar1) { System.out.println("Hi, " + ar1); Test.main("Hello Everyone", "Buenos dias"); } //Second overloaded main method public static void main(String ar1, String ar2) { System.out.println("Mi todo eres tu, " + ar1 + ", " + ar2); } }
當 main() 被呼叫時,會在輸出面板中顯著地顯示輸出,如下所示。首先,呼叫並列印main()的列印語句。然後,透過區分參數的數量,程式將程式碼段中存在的兩個重載函數分開。 main() 呼叫第一個重載函數,而第一個重載函數呼叫第二個重載函數。
輸出:
在第二個編碼範例中,我們將看到執行乘法的函數,但分配給它們的參數數量不同。這將幫助人們開發用於處理不同參數的不同函數。
代碼:
class Adder { static int multiply(int a,int b) { return a*b; } static int multiply(int a,int b,int c) { return a*b*c;} } class TestOverloading1 { public static void main(String[] args) { System.out.println(Adder.multiply(110,110)); System.out.println(Adder.multiply(110,110,110)); } }
輸出:
在這個編碼範例中,我們將看到具有相同名稱和相同數量參數的函數,但它們有一個功能可以作為它們之間的差異。功能上的差異在於函數中存在的資料類型,一個是整數,另一個是雙精確度。
代碼:
//Program to add numbers distinguishing on the datatype of parameters class Number { static int add(int a, int b)//Both integer variables { return a+b;//Returning the sum } static double add(double a, double b)//Both double variables { return a+b;//Returning the sum } } class TestOverloading2 { public static void main(String[] args) { System.out.println(Number.add(1,110)); System.out.println(Number.add(12.4,18.8)); } }
在上面的程式中,我們在計算兩個整數值總和時輸入兩個整數值。輸入的數字是 10 和 20。輸出應該給出值 30,這將按原樣列印總和。另外,當我們輸入兩個 double 值時,會列印總和,這是第二個重載函數。我們輸入雙精度資料類型變數的值15.5和16.3,然後我們最終看到的結果是31.8,這是總和。我們將在下面的畫面中看到程式的輸出面板。
輸出:
在本文中,我們看到了重載函數的不同功能和概念,它們具有相同的名稱,但參數數量不同或資料類型不同。我們也注意到需要如何執行重載函數的優點和語法。在本文中,重載函數主要用於乘法和加法,這對整個程式設計概念進行了詳細介紹。
以上是Java 中的函數重載的詳細內容。更多資訊請關注PHP中文網其他相關文章!