Mengapa Menggunakan Kata Kunci "akhir" pada Parameter Kaedah dalam Java Penting
Kata kunci "akhir" memainkan peranan penting dalam Java dengan memastikan kebolehubahan pembolehubah, termasuk parameter kaedah. Walaupun menghalang penugasan semula parameter mungkin kelihatan tidak penting, ia menawarkan beberapa faedah ketara.
Memastikan Ketidakbolehubahan Pembolehubah
Menggunakan parameter kaedah "akhir" menjamin bahawa pembolehubah tidak boleh ditetapkan semula kepada merujuk kepada objek yang berbeza. Ini menghapuskan potensi untuk pengubahsuaian data yang tidak disengajakan.
Parameter Memaksa Dilalui oleh Nilai
Di Java, primitif diluluskan oleh nilai, jadi menandakan parameter primitif sebagai "akhir" tiada kesan. Walau bagaimanapun, untuk objek yang diluluskan melalui rujukan, "akhir" memaksa pembolehubah kekal tidak berubah, menghalang pengubahsuaian pada objek yang diluluskan itu sendiri.
Contoh:
public void change(Collection<Integer> c) { // Changes the reference, but not the underlying object c = new ArrayList<>(); } public void modify(final Collection<Integer> c) { // Compiler error: Cannot modify final parameter c.add(5); }
Dalam kaedah pertama, rujukan kepada Koleksi diubah, tetapi objek Koleksi sebenar kekal sama. Dalam kaedah kedua, "akhir" menghalang penambahan elemen pada Koleksi.
Mencegah Pengubahsuaian Tidak Sengaja
Sebagai amalan pengaturcaraan yang baik, parameter tidak boleh ditetapkan semula. Dengan menandakan parameter sebagai "akhir", pengkompil boleh mengesan dan membenderakan sebarang penugasan semula yang tidak disengajakan.
Mengunci Rujukan tetapi Membenarkan Pengubahsuaian Harta
Dalam kes objek, tandakan parameter sebagai "akhir" mengunci rujukan untuk mengelakkan penugasan semula. Walau bagaimanapun, pengubahsuaian hartanah masih dibenarkan, seperti yang dilihat dalam kod berikut:
public class MyClass { private int x; // getters and setters } void doSomething(final MyClass arg) { arg.setX(20); // Allowed }
Ketidakbolehubahan Rekod
Ciri "rekod" Java 16 mencipta kelas tidak berubah dengan bacaan- hanya padang. Ini secara berkesan menghapuskan keperluan untuk "akhir" pada parameter yang dihantar kepada pembina merekod.
Kesimpulan
Walaupun menandakan parameter kaedah sebagai "akhir" mungkin pada mulanya kelihatan remeh, ia menyediakan faedah penting dalam memastikan kebolehubahsuaian berubah, mencegah pengubahsuaian yang tidak disengajakan, dan meningkatkan kebolehbacaan kod. Bantuan pengkompil dalam menguatkuasakan kebolehubah parameter sangat mengurangkan kemungkinan tingkah laku yang tidak dijangka dan meningkatkan kualiti keseluruhan kod.
Atas ialah kandungan terperinci Mengapakah Menggunakan Kata Kunci \'akhir\' pada Parameter Kaedah dalam Java Penting?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!