Cara menggunakan 'this' dan constructor pada Java
cara menggunakan 'this' dan constructor pada java
'this' merupakan keywords dalam bahasa pemrograman java yang berguna untuk mengakses variable yang dibiaskan oleh parameter contoh penggunaan yang salah :
private String umur;
public void setUmur(String umur){
umur=umur;
}
Nama parameter pada deklarasi ini adalah umur, yang memiliki penamaan
yang sama dengan instance variable umur. Parameter umur adalah deklarasi
terdekat dari method, sehingga nilai dari parameter tersebut akan digunakan.
Maka pada pernyataan
umur=umur;
kita telah menentukan nilai dari parameter umur kepada parameter itu sendiri.
Hal ini sangat tidak kita kehendaki pada kode program kita. Untuk
menghindari kesalahan semacam ini, kita gunakan metode referensi this.
Untuk menggunakan tipe referensi ini, contoh yang benar dapat kita tuliskan:
private String umur;
public void setUmur(String umur){
this.umur=umur;
}
Penggunaan this pada Class Variabel
Variabel kelas (class variable) adalah variabel yang dideklarasikan di dalam
sebuah kelas dan bertindak sebagai data field dari kelas tersebut, sedangkan
variabel lokal (local variable) adalah variabel yang dideklarasikan di dalam
sebuah method. Cakupan variabel lokal dimulai dari posisi variabel tersebut
dideklarasikan sampai dengan akhir dari blok metoda yang ditandai dengan
closing brace. Cakupan dari variabel kelas meliputi keseluruhan kelas.
Pemberian nama yang sama antara variabel kelas dan variabel lokal di
sebuah method mungkin saja bisa terjadi. Misalnya, metoda set yang
digunakan untuk merubah nilai variabel kelas, mungkin saja
mendeklarasikan parameter dengan nama sama sebagaimana nama
variabel kelas yang nilainya akan dirubah.
Di dalam method set, untuk dapat mengacu ke variabel kelas yang nilainya
akan dirubah, Anda perlu menggunakan kata kunci this. Apabila variabel
kelas tersebut dideklarasikan menggunakan modifier static, maka variabel
kelas dapat diakses menggunakan nama-kelas.variabel-static. Di dalam
contoh program kelas Warna, terdapat dua variabel kelas yaitu variabel
merah dan biru. Kelas Warna juga mendeklarasikan dua buah method yaitu method setMerah yang memiliki parameter merah dan setBiru yang memiliki
parameter biru. Parameter dari kedua method tersebut memiliki kesamaan
nama dengan dua variabel kelas (data field) dari kelas Warna. Berikut ini
adalah kode program kelas Warna yang mungkin dapat memberikan
pemahaman lebih jelas tentang penggunaan kata kunci (keyword) this untuk
mengacu ke variabel kelas.
public class Warna {
// Deklarasi variabel kelas (data field)
int merah = 7;
static double biru = 2;
// Deklarasi method
void setMerah(int merah) {
this.merah = merah;
}
// Deklarasi method static
static void setBiru(double biru) {
Warna.biru = biru;
}
}
Keterangan :
jika kita menggunakan class variabel maka penggunaan nya harus menggunakan kata kunci this seperti contoh diatas pada method setMerah untuk mengisi class variabel merah menggunakan this.merah, sedangkan jika menggunakan static variabel kita tidak dapat menggunakan kata kunci this.biru penggunaan tersebut akan muncul pesan error karena variabel biru merupakan static variabel, jadi penggunaan yang benar adalah nama_class.static_variabel sehingga menjadi Warna.biru
Pengertian Constructor
Constructor adalah sebuah method khusus yang digunakan untuk menginisialiasi dari sebuah object didalam constructor seluruh inisialisasi object ditempatkan. Secara default constructor telah dibuat otomatis ketika kita membuat class java, tanpa harus menuliskannya. Constructor sangatlah penting pada pembentukan sebuah object. Berikut ini adalah property dari Constructor:
- Constructor memiliki nama yang sama dengan class
- Sebuah Constructor mirip dengan method pada umumnya
- Constructor tidak memiliki return value
- Constructor tidak dapat dipanggil secara langsung, namun harus dipanggil dengan menggunakan operator new pada pembentukan sebuah class.
<modifier><className>(<parameter>*){
<statement>*
}
Default Constructor
Setiap class memiliki default constructor. Sebuah default constructor
adalah constructor yang tidak memiliki parameter apapun. Jika sebuah
class tidak memiliki constructor apapun, maka sebuah default constructor
akan dibentuk secara implicit.
Sebagai contoh, pada class DataSiswa, bentuk default constructor
akan terlihat seperti dibawah ini :
Public StudentRecord()
{
//area penulisan kode
}
Menggunakan Constructor
Untuk menggunakan constructor, kita gunakan coding sebagai
berikut:
public class DataSiswa {
private static int jumlahSiswa;
private String name;
private String address;
private double mathGrade;
private double englishGrade;
private double scienceGrade;
public DataSiswa() {
//letak kode inisialisasi
jumlahSiswa++;//menambahstudent
}
public DataSiswa(String temp) {
this.name = temp;
jumlahSiswa++;//menambah siswa
}
public DataSiswa(String name, String address) {
this.name = name;
this.address = address;
jumlahSiswa++;//menambah siswa
}
public DataSiswa(double mGrade, double eGrade, double sGrade) {
mathGrade = mGrade;
englishGrade = eGrade;
scienceGrade = sGrade;
jumlahSiswa++;//menambah siswa
}
public static int getjumlahSiswa() {
return jumlahSiswa;
}
public static void main(String[] args) {
//membuat3objek
DataSiswa annaRecord = new DataSiswa("Anna");
DataSiswa beahRecord = new DataSiswa("Beah", "Philippines");
DataSiswa crisRecord = new DataSiswa(80, 90, 100);
//area penulisan kode selanjutnya
}
}
Pemanggilan constructor dapat dilakukan secara berangkai, dalam arti Anda dapat memanggil constructor di dalam constructor lain. Pemanggilan dapat dilakukan dengan referensi this()
Gabung dalam percakapan