Kaedah Terlebih Beban dan Argumen Null dalam Java
Di Java, apabila berurusan dengan kaedah terlampau beban, adalah penting untuk memahami bagaimana pengkompil menentukan kaedah mana untuk menyeru. Ini amat penting apabila nilai nol terlibat.
Pertimbangkan kod Java berikut:
JOptionPane.showInputDialog(null, "Write something");
Timbul persoalan: Kaedah terlebih beban yang manakah akan dipanggil?
Resolusi Lebihan Beban dan Nilai Null
Di Java, lebihan muatan kaedah merujuk kepada keupayaan kelas untuk mempunyai pelbagai kaedah dengan nama yang sama tetapi tandatangan yang berbeza. Apabila kaedah terlebih beban digunakan, pengkompil menentukan kaedah khusus untuk dipanggil berdasarkan bilangan dan jenis argumen yang dihantar kepadanya.
Dalam kes null, yang merupakan nilai argumen pertama dalam kod kami , peraturan khas dikenakan. Null dianggap sebagai jenis null. Akibatnya, pengkompil akan cuba memadankan jenis hujah dengan kaedah paling khusus yang menerima jenis bukan primitif.
Dalam kes kami, dua kaedah terlebih beban yang boleh digunakan ialah:
Memilih Kaedah Paling Spesifik
Berdasarkan peraturan "paling spesifik", pengkompil akan memilih kaedah yang menerima Komponen sebagai yang pertama hujah. Ini kerana Komponen adalah jenis yang lebih khusus daripada Objek, walaupun null dianggap sebagai jenis null. Oleh itu, kaedah showInputDialog(Induk komponen, mesej Objek) akan dipanggil.
Prinsip ini meluas ke kes lain yang melibatkan nilai nol. Pengkompil akan sentiasa condong kepada kaedah paling khusus yang boleh mengendalikan jenis hujah sebenar, walaupun jika null terlibat.
Atas ialah kandungan terperinci Bagaimanakah Resolusi Kaedah Terlebih Java Mengendalikan Hujah Null?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!