Resolusi Lebihan untuk Argumen Null dalam Java
Apabila menghantar null sebagai hujah kepada kaedah terlebih beban di Java, adalah penting untuk memahami kaedah yang mana akan dipilih untuk seruan.
Pertimbangkan perkara berikut contoh:
JOptionPane.showInputDialog(null, "Write something");
Dua kaedah terlampau beban JOptionPane.showInputDialog wujud:
Antara lebihan beban ini yang manakah akan dipanggil apabila menghantar null sebagai parameter induk?
Jawapan:
Java menyelesaikan lebihan beban berdasarkan prinsip "kaedah yang paling spesifik." Dalam kes ini, kaedah yang paling khusus ialah:
showInputDialog(Component parent, Object message)
Peraturan ini diperoleh daripada proses penyelesaian beban lampau, khususnya langkah yang dikenali sebagai "Menentukan Tandatangan Kaedah." Pengkompil mencari kaedah yang paling khusus yang boleh mengendalikan jenis input (dalam kes ini, null dan String).
Kaedah "lebih khusus" ditentukan berdasarkan sama ada seruan satu beban lampau boleh dihantar kepada yang lain tanpa menyebabkan ralat jenis masa kompilasi. Dalam contoh ini, apa-apa seruan lebihan pertama boleh dihantar kepada yang kedua tanpa ralat, tetapi bukan sebaliknya.
Oleh itu, apabila menghantar null ke JOptionPane.showInputDialog, lebihan beban dengan parameter induk Komponen (yang kaedah yang paling khusus) akan dipilih untuk seruan.
Atas ialah kandungan terperinci Bagaimanakah Java Menyelesaikan Kaedah Terlalu Beban Apabila Hujah Null Diluluskan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!