Kelas dan Objek · Pelajaran 3 dari 10

Konstruktor dan this

8 menit baca · BelajarCode

Mengisi atribut satu per satu setelah new merepotkan dan rawan lupa. Konstruktor adalah metode khusus yang dijalankan otomatis saat objek dibuat. Namanya sama dengan nama kelas dan tidak punya tipe kembalian.

Java
1class Buku {2    String judul;3    String penulis;4    int halaman;56    Buku(String judul, String penulis, int halaman) {7        this.judul = judul;8        this.penulis = penulis;9        this.halaman = halaman;10    }1112    Buku(String judul, String penulis) {13        this(judul, penulis, 0);14    }1516    String info() {17        String hal = halaman > 0 ? halaman + " halaman" : "jumlah halaman belum diketahui";18        return judul + " oleh " + penulis + ", " + hal;19    }20}2122public class Main {23    public static void main(String[] args) {24        Buku a = new Buku("Pemrograman Java", "Tim Penulis", 320);25        Buku b = new Buku("Struktur Data", "Tim Penulis");26        System.out.println(a.info());27        System.out.println(b.info());28    }29}
Keluaran
Pemrograman Java oleh Tim Penulis, 320 halaman
Struktur Data oleh Tim Penulis, jumlah halaman belum diketahui
  • this menunjuk objek yang sedang dibuat. this.judul = judul; membedakan atribut judul dari parameter judul.
  • Kelas boleh punya beberapa konstruktor dengan parameter berbeda. Ini disebut overloading.
  • this(judul, penulis, 0); memanggil konstruktor lain di kelas yang sama, supaya kode pengisian tidak ditulis ulang.

Konstruktor bawaan

Jika kelas tidak punya konstruktor sama sekali, Java memberikan konstruktor kosong secara otomatis. Begitu kamu menulis satu konstruktor saja, konstruktor kosong itu tidak ada lagi, kecuali kamu menuliskannya sendiri.

Cek pemahaman

Apa yang terjadi jika parameter konstruktor bernama sama dengan atribut, dan kamu menulis judul = judul; tanpa this?

Latihan

Kelas Rekening

Buat kelas Rekening dengan atribut pemilik dan saldo. Sediakan konstruktor dengan dua parameter, dan konstruktor dengan satu parameter (pemilik) yang membuat saldo awal 0 dengan memanggil konstruktor pertama.

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Java online.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi