stifler's Blog



Parameter Nama dalam Java

Parameter Nama
Ketika mendeklarasikan parameter ke metode atau konstruktor,Kamu memberikan nama untuk parameter tersebut. Nama ini digunakan di dalam tubuh metode untuk merujuk pada lulus-dalam argumen.
Nama parameter harus unik dalam lingkup. Hal ini tidak bisa sama dengan nama lain parameter untuk metode yang sama atau konstruktor, dan tidak bisa berupa nama variabel lokal di dalam metode atau konstruktor. Parameter dapat memiliki nama yang sama sebagai salah satu bidang kelas itu. Jika hal ini terjadi, parameter dikatakan bayangan lapangan. bidang bayangan dapat membuat kode Kamu sulit untuk dibaca dan secara konvensional digunakan hanya dalam konstruktor dan metode yang menetapkan bidang tertentu. Sebagai contoh, perhatikan kelas Circle berikut dan metode setOrigin nya:

public class Circle {
swasta int x, y, radius;
public void setOrigin (int x, int y) {

}
}

Kelas Circle memiliki tiga bidang: x, y, dan radius. Metode setOrigin memiliki dua parameter, yang masing-masing memiliki nama yang sama sebagai salah satu bidang. Setiap metode bayangan parameter lapangan yang namanya saham. Jadi dengan menggunakan nama sederhana x atau y dalam tubuh metode ini mengacu pada parameter, tidak ke lapangan. Untuk mengakses lapangan, Anda harus menggunakan nama yang memenuhi syarat. Ini akan dibahas nanti dalam pelajaran ini di bagian yang berjudul “Menggunakan Kata Kunci ini.”
Passing Argumen Tipe Data Primitif
Argumen primitif, seperti int atau double, dilewatkan ke metode dengan nilai. Ini berarti bahwa setiap perubahan nilai-nilai parameter hanya ada dalam lingkup metode. Ketika kembali metode, parameter telah pergi dan perubahan bagi mereka yang hilang. Berikut adalah contohnya:

public class PassPrimitiveByValue {

public static void main (String [] args) {

int x 3 =;

/ / Memanggil passMethod () dengan x sebagai argumen
passMethod (x);

/ / Print x untuk melihat apakah nilainya telah berubah
System.out.println (“Setelah memanggil passMethod, x =” + x);

}

/ / Ubah parameter dalam passMethod ()
public static void passMethod (int p) {
p 10 =;
}
}

Ketika Kamu menjalankan program ini, output adalah:

Setelah memanggil passMethod, x = 3

Passing Argumen Tipe Data Referensi
Referensi parameter tipe data, seperti objek, juga dilewatkan ke metode dengan nilai. Ini berarti bahwa ketika kembali metode, yang disahkan pada referensi-referensi masih objek yang sama seperti sebelumnya. Namun, nilai bidang objek dapat diubah dalam metode, jika mereka memiliki tingkat akses yang tepat.
Sebagai contoh, perhatikan suatu metode dalam kelas sewenang-wenang yang bergerak objek Circle:

public void moveCircle (Circle lingkaran, deltaX int, int deltaY) {
/ / Kode untuk pindah asal lingkaran untuk x + deltaX, y + deltaY
circle.setX (circle.getX () + deltaX);
circle.setY (circle.getY () + deltaY);

/ / Kode untuk menetapkan referensi baru untuk lingkaran
lingkaran = new Lingkaran (0, 0);
}

Biarkan metode dipanggil dengan argumen ini:

moveCircle (myCircle, 23, 56)

Di dalam metode ini, lingkaran awalnya mengacu pada myCircle. Metode Perubahan x dan y koordinat objek yang lingkaran referensi (yaitu, myCircle) oleh 23, dan 56 masing-masing. Perubahan ini akan bertahan ketika kembali metode. Kemudian lingkaran ditugaskan referensi ke sebuah obyek Lingkaran baru dengan x = y = 0. pergantian ini tidak permanen, bagaimanapun, karena referensi disahkan oleh nilai dan tidak bisa berubah. Dalam metode, objek yang ditunjuk oleh lingkaran telah berubah, tapi, ketika kembali metode, myCircle masih referensi objek Lingkaran yang sama seperti sebelumnya metode disebut.


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: