Tidak, lebihan fungsi dalam Java hanya berfungsi untuk kaedah contoh dan bukan untuk kaedah kelas (kaedah statik) kerana kaedah contoh dikaitkan dengan objek tertentu manakala kaedah kelas dikaitkan dengan kelas itu sendiri.
Adakah mekanisme kelebihan beban fungsi Java digunakan untuk semua kaedah?
Di Java, lebihan fungsi ialah teknik yang membolehkan penciptaan pelbagai kaedah dengan nama yang sama tetapi senarai parameter yang berbeza. Walau bagaimanapun, tidak semua kaedah boleh dibebankan. Terpakai hanya pada kaedah contoh, bukan kaedah kelas (juga dikenali sebagai kaedah statik).
Mengapa hanya terpakai pada kaedah contoh?
Kaedah kelas ialah kaedah yang dikaitkan dengan kelas itu sendiri dan bukannya dengan objek tertentu. Kaedah contoh, sebaliknya, adalah kaedah yang dikaitkan dengan objek tertentu. Oleh itu, mekanisme lebihan beban hanya berfungsi untuk kaedah contoh yang boleh diikat pada objek tertentu.
Kes praktikal
Contoh berikut menunjukkan cara melebihkan kaedah contoh:
class Person { // 重载方法 1 - 计算两个整数的和 public int sum(int a, int b) { return a + b; } // 重载方法 2 - 计算三个整数的和 public int sum(int a, int b, int c) { return a + b + c; } // 测试重载方法 public static void main(String[] args) { Person p = new Person(); int result1 = p.sum(1, 2); // 调用重载方法 1 int result2 = p.sum(1, 2, 3); // 调用重载方法 2 System.out.println(result1); // 输出 3 System.out.println(result2); // 输出 6 } }
Sekatan lain
Selain hanya menggunakan kaedah contoh, lebihan fungsi mempunyai sekatan tambahan
Atas ialah kandungan terperinci Adakah mekanisme lebihan fungsi Java berfungsi untuk semua kaedah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!