Rumah > Java > javaTutorial > teks badan

Bagaimana hujah diluluskan

PHPz
Lepaskan: 2024-08-24 06:34:08
asal
878 orang telah melayarinya

Dua Cara untuk Menyalurkan Hujah kepada Kaedah:

Panggil dengan Nilai:

  • Menyalin nilai hujah dalam parameter formal subrutin.
  • Perubahan yang dibuat pada parameter dalam kaedah tidak menjejaskan hujah asal.

Panggil dengan Rujukan:

  • Melalukan rujukan kepada hujah, bukan nilai.
  • Perubahan yang dibuat pada parameter mempengaruhi hujah asal dalam panggilan.

Petikan Jenis Primitif:

  • Apabila jenis primitif (seperti int atau double) dihantar, panggilan mengikut nilai digunakan.
  • Kaedah menerima salinan hujah, jadi perubahan yang dibuat dalam kaedah tidak menjejaskan nilai asal.

Contoh:

class Test {
    void noChange(int i, int j) {
        i = i + j;
        j = -j;
    }
}

class CallByValue {
    public static void main(String[] args) {
        Test ob = new Test();
        int a = 15, b = 20;
        System.out.println("a and b before call: " + a + " " + b);
        ob.noChange(a, b);
        System.out.println("a and b after call: " + a + " " + b);
    }
}

Salin selepas log masuk

Petikan Objek:
Apabila objek dihantar ke kaedah, Java menggunakan panggilan melalui rujukan.
Kaedah menerima rujukan kepada objek, yang bermaksud bahawa perubahan yang dibuat dalam kaedah mempengaruhi objek asal.

Contoh:

class Test {
    int a, b;
    Test(int i, int j) {
        a = i;
        b = j;
    }
    void change(Test ob) {
        ob.a = ob.a + ob.b;
        ob.b = -ob.b;
    }
}

class PassObRef {
    public static void main(String[] args) {
        Test ob = new Test(15, 20);
        System.out.println("ob.a and ob.b before call: " + ob.a + " " + ob.b);
        ob.change(ob);
        System.out.println("ob.a and ob.b after call: " + ob.a + " " + ob.b);
    }
}

Salin selepas log masuk

Perubahan dalam kaedah change() menjejaskan objek ob yang diluluskan sebagai hujah.

Perbezaan Antara Jenis Primitif dan Objek:
Jenis Primitif: Melepasi nilai, perubahan pada kaedah tidak menjejaskan nilai asal.
Objek: Dilalui dengan rujukan, perubahan pada kaedah mempengaruhi objek asal.

Ringkasan Akhir:
Meluluskan hujah dalam Java boleh dengan nilai atau rujukan. Jenis primitif diluluskan mengikut nilai, manakala objek diluluskan melalui rujukan, menghasilkan kesan berbeza pada hujah asal.

Como os argumentos são passados

Atas ialah kandungan terperinci Bagaimana hujah diluluskan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan