Java 中的重載機制實作參數多態,允許使用相同名稱的方法處理不同類型的參數。重載方法根據參數類型進行匹配,並按以下優先順序匹配:完全匹配類型、自動轉換類型和寬鬆匹配類型。在實戰案例中,提供了計算矩形和圓形面積的重載方法,示範如何根據不同的形狀輸入呼叫適當的方法。
#在Java 中,重載允許在同一個類別中定義具有相同名稱但參數不同的多個方法。這提供了一種方式,可以使用相同的函數名稱來處理不同類型或數量的參數。
重載方法的語法如下:
methodName(parameter1_type parameter1_name, parameter2_type parameter2_name, ...)
以下範例示範了兩個重載的calculate
方法:
public class MyClass { public int calculate(int num1, int num2) { return num1 + num2; } public double calculate(double num1, double num2) { return num1 * num2; } }
當呼叫重載方法時,Java 會基於以下規則將參數匹配到適當的方法:
以下是實戰案例,示範如何使用重載方法處理不同類型和數量的參數:
import java.util.Scanner; public class AreaCalculator { public double calculateArea(int length, int width) { return length * width; } public double calculateArea(int radius) { return Math.PI * radius * radius; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Enter shape (rectangle/circle): "); String shape = scanner.nextLine(); if (shape.equals("rectangle")) { System.out.print("Enter length: "); int length = scanner.nextInt(); System.out.print("Enter width: "); int width = scanner.nextInt(); AreaCalculator calculator = new AreaCalculator(); double area = calculator.calculateArea(length, width); System.out.println("Area of rectangle: " + area); } else if (shape.equals("circle")) { System.out.print("Enter radius: "); int radius = scanner.nextInt(); AreaCalculator calculator = new AreaCalculator(); double area = calculator.calculateArea(radius); System.out.println("Area of circle: " + area); } else { System.out.println("Invalid shape"); } } }
以上是Java 函數中的重載機制針對不同的參數如何實作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!