You are on page 1of 11

CLASS DAN OBJECT

Inisialiasi Object dan Member Variable

Struktur Java Class


Remember?
public class Person { private String nama; private int umur; public Person(String nama, int umur) { this.nama = nama; this.umur = umur; } public String getInfo() { return (nama + is + age + old); } }

member variable constructor

method

Java Object

public class TestPerson {

public static void main( String args[] ) { // buat object orang dari Person class // orang disebut juga reference Person orang = new Person(Syamsul, 32); // akses public method dari object orang String info = orang.getInfo(); System.out.println(info);
} }

new adalah Keyword untuk membuat object

Mengakses method object menggunakan operator titik

orang.getInfo();

Inisialisasi Object
public class Person { int age; String nama; Address alamat; // Blok inisilisasi, bukan method { System.out.println(Person diinisialisasi.); } public Person() { System.out.println(Constructor dipanggil.); } public void cetakInfo() {...} // Lain-lain }

Sebelum constructor dipanggil, member variable diinisialisasi dan blok di luar method akan dieksekusi Constructor dipanggil setelah member diinisialisasi dan blok dieksekusi

Inisialisasi Object

Person orang = new Person();


Ketika dipanggil maka :
age = 0; nama = null; alamat = null;

Dan di console akan tercetak secara berurutan:


Person diinisialisasi. Constructor dipanggil.

Inisialisasi Object: Default


Member variable yang dideklarasikan akan diinisialisasi pada saat loading sesuai dengan nilai default masing-masing:
byte = 0; short = 0; float = 0.0f; char = \u0000; String = null; int = 0; long = 0; double = 0.0; boolean = false; <class> = null;

NOTE: method variable dan lainnya harus diinisialisasi secara eksplisit untuk bisa digunakan oleh object.

Inisialisasi Object: Member Variable


Deklarasi dan Inisialisasi member variable bisa dilakukan secara langsung.
public class Employee { String nama = Jawinul; int age = 30; double gaji = getSalary(); // ini boleh private double getSalary() { return 2500000.0; } }

Inisialisasi Object: member variable

Deklarasi dan Inisialisasi member variable harus dalam urutan yang benar OK public class Employee { String nama = Jawinul; int age = 30; double gajibersih = getSalary() * persenpotongan; // tidak boleh! double persenpotongan = 0.025; // seharusnya dideklarasikan // sebelum gaji bersih private double getSalary() { return 2500000.0; } }

error

Inisialisasi variable oleh Constructor

import java.util.Date; public class Tugas { private Date sekarang; public Tugas() { sekarang = new Date(); } public Date getSekarang() { return sekarang; } } Diinisialisasi pada Saat Constructor dipanggil

Inisialisasi variable oleh Constructor

import java.util.Date; public class Jadwal { private Date tanggal; public Jadwal(Date tanggal) { this.tanggal = tanggal; } public Date getTanggal() { return tanggal; } }
Member variable diinisialisasi dengan parameter dari Constructor. Keyword this pada this.tanggal merujuk pada object dari class Jadwal ini sendiri. this.tanggal adalah member variable dan tanggal adalah parameter constructor.

Lazy Initialization
import java.util.Date;

public class LazyInitialization {


private Date tanggal; private String aktivitas; private Location lokasi;

Inisialiasi member variable terjadi pada saat method initialize() dipanggil

public LazyInitialization() { System.out.println("Do nothing"); }


public void initialize(Date date, String activity, Location loc) { this.tanggal = date; this.aktivitas = activity; this.lokasi = loc; } }

You might also like