Mekanisme lebihan beban dalam Java melaksanakan polimorfisme parameter, membenarkan kaedah dengan nama yang sama mengendalikan jenis parameter yang berbeza. Kaedah terlebih muatan dipadankan berdasarkan jenis parameter, dengan keutamaan berikut: jenis padanan tepat, jenis penukaran automatik dan jenis padanan santai. Dalam kes praktikal, kaedah terlebih beban untuk mengira luas segi empat tepat dan bulatan disediakan, menunjukkan cara memanggil kaedah yang sesuai berdasarkan input bentuk yang berbeza.
Dalam Java, lebihan muatan membolehkan berbilang kaedah ditakrifkan dalam kelas yang sama dengan nama yang sama tetapi parameter berbeza. Ini menyediakan cara untuk menggunakan nama fungsi yang sama untuk mengendalikan jenis atau bilangan argumen yang berbeza.
Sintaks kaedah terlampau beban adalah seperti berikut:
methodName(parameter1_type parameter1_name, parameter2_type parameter2_name, ...)
Contoh berikut menunjukkan dua kaedah calculate
terlebih beban:
public class MyClass { public int calculate(int num1, int num2) { return num1 + num2; } public double calculate(double num1, double num2) { return num1 * num2; } }
Apabila kaedah to overloaded dipanggil parameter:
Berikut ialah kes praktikal yang menunjukkan cara menggunakan kaedah lebihan muatan untuk mengendalikan jenis dan bilangan parameter yang berbeza:
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"); } } }
Atas ialah kandungan terperinci Bagaimanakah mekanisme lebihan beban dalam fungsi Java dilaksanakan untuk parameter yang berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!