Time Class Study
Di sini terdapat dua class, yaitu Waktu1 dan TesWaktu1. Class Waktu1 menunjukkan waktu dalam sehari. Class TesWaktu1 adalah pengaplikasian class yang method main-nya membuat satu object dari class Waktu1 dan memanggil method tersebut. Dua class ini harus dideklarasikan di file terpisah karena keduanya merupakan public class.
Source code Waktu1.java:
Source code TesWaktu1.java:
Dan outputnya adalah:
Controlling Access to Member
Tujuan utama public method adalah untuk menyajikan service yang diberikan class kepada client. Client tidak perlu tahu bagaimana class menyelesaikan tugasnya. Untuk alasan ini, private variable dan private method tidak bisa diakses client. Berikut merupakan contoh bahwa anggota private class tidak bisa diakses dari luar class.
Source code TesAksesMember.java:
Saat di-compile, akan mengalami error seperti ini:
Referring to the Current Object's Member with the this Reference
Setiap object bisa mengakses reference ke object itu sendiri dengan this. Kita juga bisa menggunakan this secara eksplisit di non-static method. Berikut merupakan penggunaan this reference secara implisit maupun eksplisit.
Source code TesThis.java:
Output:
Time Class Case Study: Overloaded Constructors
Selanjutnya akan ditampilkan class dengan beberapa overloaded constructor yang bisa menginisialisasi object dari class dalam beberapa cara. Cara melakukan overload constructor adalah dengan memberi beberapa deklarasi constructor dengan signature berbeda.
Source code Waktu2.java:
Default and No-Argument Constructors
Kemudian adalah penggunaan overloaded constructor dari class Waktu2. Baris 11 memanggil no-argument constructor. Baris 12 memanggil single-argument constructor. Baris 13 memanggil two-argument constructor. Baris 14 memanggil no-argument constructor. Baris 15 memanggil single-argument constructor yang me-reference baris 33 - 36 pada class Waktu2. Dari situ menunjukkan String dari masing-masing object Waktu2 untuk mengonfirmasi bahwa object terinisialisasi dengan tepat. Baris 38 mencoba untuk menginisialisasi t6 dengan membuat object Waktu2 baru dan diberi tiga value invalid.
Source code TesWaktu2.java:
Output:
Setiap class harus memiliki setidaknya satu constructor. Jika tidak memberikan deklarasi class, compiler akan membuat default constructor yang tidak mengambil argumen apapun ketika dipanggil. Default constructor menginisialisasi variable ke initial/default value.
Jika mendeklarasi constructor, compiler tidak akan membuat default constructor. Dalam kasus ini, kita harus mendeklarasi no-argument constructor jika initial default dibutuhkan. Seperti default constructor, no-argument constructor dipanggil dengan kurung kosong / "()".
Sumber: Java - How to Program 9th Edition (Deitel)
Komentar
Posting Komentar