Rumah  >  Artikel  >  Java  >  Perbincangan mendalam tentang hantaran nilai dan hantaran rujukan dalam Java: cara memahami kaedah lulus parameter dengan tepat

Perbincangan mendalam tentang hantaran nilai dan hantaran rujukan dalam Java: cara memahami kaedah lulus parameter dengan tepat

王林
王林asal
2024-01-30 09:19:07808semak imbas

Perbincangan mendalam tentang hantaran nilai dan hantaran rujukan dalam Java: cara memahami kaedah lulus parameter dengan tepat

Memahami lulus mengikut nilai dan lulus melalui rujukan dalam Java: Cara memahami dengan betul cara parameter dihantar memerlukan contoh kod khusus

Pengenalan:
Dalam pengaturcaraan Java, kita selalunya perlu menghantar parameter kepada kaedah atau fungsi. Walau bagaimanapun, untuk pemula, memahami cara parameter diluluskan dalam Java boleh menjadi tugas yang sukar. Artikel ini akan menumpukan pada dua kaedah lulus parameter dalam Java, hantaran nilai dan hantaran rujukan, dan menggunakan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik.

1. Lulus Nilai:
Lupasan nilai ialah kaedah lulus parameter Ini bermakna apabila kaedah atau fungsi dipanggil, nilai parameter disalin ke pembolehubah baharu dan bukannya dihantar terus ke kaedah atau fungsi . Ini bermakna pengubahsuaian kepada parameter di dalam kaedah tidak akan menjejaskan nilai pembolehubah asal.

Mari lihat contoh untuk memahami lulus nilai dengan lebih baik. Katakan kita mempunyai kaedah swap, yang digunakan untuk menukar nilai dua integer:

public class ValuePassingExample {
    public static void swap(int a, int b) {
        int temp = a;
        a = b;
        b = temp;
    }
    
    public static void main(String[] args) {
        int x = 5;
        int y = 10;
        swap(x, y);
        System.out.println("x = " + x + ", y = " + y);
    }
}

Dalam kod di atas, kami mentakrifkan kaedah swap untuk menukar nilai dua integer menggunakan pemindahan nilai. Kemudian dalam kaedah utama, kami mengisytiharkan dua integer x dan y dan memanggil kaedah swap. Walau bagaimanapun, jika kita menjalankan kod di atas, kita akan mendapati bahawa output masih "x = 5, y = 10".

Ini kerana dalam pemindahan nilai, parameter a dan b adalah pembolehubah tempatan di dalam kaedah dan tidak mempunyai hubungan langsung dengan x dan y dalam kaedah utama. Oleh itu, pengubahsuaian kepada a dan b dalam kaedah swap tidak akan menjejaskan x dan y dalam kaedah utama.

2. Lulus Rujukan:
Lulus rujukan ialah kaedah lulus parameter, yang bermaksud bahawa parameter dalam kaedah atau fungsi adalah merujuk kepada pembolehubah asal. Dalam erti kata lain, apabila kaedah atau fungsi dipanggil, rujukan kepada parameter dihantar kepada kaedah, jadi pengubahsuaian pada parameter akan menjejaskan nilai pembolehubah asal.

Mari kita lihat contoh untuk memahami rujukan pass by dengan lebih baik. Katakan kita mempunyai kaedah changeName, yang digunakan untuk mengubah suai nama objek Orang:

public class ReferencePassingExample {
    public static class Person {
        String name;
        
        public Person(String name) {
            this.name = name;
        }
    }
    
    public static void changeName(Person person) {
        person.name = "Sam";
    }
    
    public static void main(String[] args) {
        Person person = new Person("John");
        changeName(person);
        System.out.println("Name: " + person.name);
    }
}

Dalam kod di atas, kami mentakrifkan kelas Orang yang mengandungi pembolehubah ahli bernama nama. Kemudian kami menentukan kaedah changeName dan menggunakan hantaran rujukan untuk mengubah suai nama objek Orang kepada "Sam". Dalam kaedah utama, kami mencipta orang objek Orang dan memanggil kaedah changeName. Jika kita menjalankan kod di atas, kita akan mendapat output "Nama: Sam".

Ini kerana dalam pemindahan rujukan, parameter orang dalam kaedah adalah rujukan kepada orang objek asal. Jadi pengubahsuaian kepada objek orang akan menjejaskan objek asal.

Kesimpulan:
Kaedah lulus parameter dalam Java dibahagikan kepada hantaran nilai dan hantaran rujukan. Dalam pemindahan nilai, nilai parameter disalin ke pembolehubah baharu, dan pengubahsuaian pada parameter dalam kaedah tidak akan menjejaskan nilai pembolehubah asal. Dalam rujukan lulus, parameter adalah rujukan kepada pembolehubah asal, jadi pengubahsuaian pada parameter akan mempengaruhi pembolehubah asal.

Apabila melakukan pengaturcaraan Java, adalah sangat penting untuk memahami kaedah lulus parameter, terutamanya apabila ia melibatkan pengubahsuaian objek. Memahami hantaran nilai dan hantaran rujukan dengan betul, dan dapat memilih kaedah lulus parameter yang sesuai mengikut keperluan akan membantu kami menulis kod yang lebih cekap dan tepat.

Saya harap contoh kod dalam artikel ini dapat membantu pembaca memahami dengan lebih baik penghantaran nilai dan hantaran rujukan dalam Java, serta cara parameter dihantar. Dengan memahami dan menguasai konsep ini, kami boleh memprogramkan dengan lebih baik dalam Java dan menulis kod berkualiti tinggi.

Atas ialah kandungan terperinci Perbincangan mendalam tentang hantaran nilai dan hantaran rujukan dalam Java: cara memahami kaedah lulus parameter dengan tepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn