Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Inisialisasi Block Instance Java dan Fungsinya

Artikel ini akan menjelaskan tentang cara inisialisasi block instance Java beserta contoh program dan penjelasan fungsi-fungsinya.


3 Konsep Utama Inisialisasi Block Instance pada Java
Ilustrasi Inisialisasi Block Instance pada Java


Pada bahasa pemrograman Java, operasi bisa dilakukan di dalam methodconstructor, dan block inisialisasi. Block inisialisasi instance (atau IIB dalam akronim berbahasa inggris) digunakan untuk menginisialisasi variabel instance pada Java. IIB dieksekusi sebelum constructor. IIB dijalankan setiap kali object dari class diciptakan.
  • Block inisialisasi dieksekusi kapanpun class diinisialisasi dan sebelum constructor dipanggil.
  • IIB biasanya ditempatkan di atas constructor dengan tanda kurung.
  • Pada IIB tidak semuanya bersifat penting untuk dimasukkan ke dalam class.

Contoh:

// Program Java

// mengilustrasikan block

// inisialisasi instance.

class MKN 

// Instance Initialization

// Block (IIB).

{System.out.println("IIB block");} 

 

// Constructor dari MKN class.

MKN(){ 

System.out.println("Constru"

+"ctor dipanggil");}

 

public static void main(String[] args

{MKN a = new MKN();} 

}

Output:
IIB block
Constructor dipanggil


Program Inisialisasi Instance Multiple Block
Dapat juga dimiliki lebih dari satu IIB dalam sebuah single class. Jika kompilator menemukan multiple IIB, maka semua IIB akan dieksekusi dari awal hingga akhir dimana IIB yang ditulis pertama akan dieksekusi terlebih dahulu.

Contoh:

// Program Java

// mengilustrasikan eksekusi

// dari multiple block

// inisialisasi instance dalam

// satu program.

class MKN 

// Instance Initialization

// Block - 1.

{System.out.println("IIB1"

+" block");} 

 

// Instance Initialization

// Block - 2.

{System.out.println("IIB2"

+" block");} 

 

// Constructor dari class MKN.

MKN() 

{System.out.println("Constru"

+"ctor dipanggil");} 

 

// Instance Initialization

// Block - 3.

{System.out.println("IIB3"

+" block");} 

 

/* main function */

public static void main(String[] args

{MKN a = new MKN();} 

}

Output:
IIB1 block
IIB2 block
IIB3 block
Constructor dipanggil

Block Inisialisasi Instance dengan Parent Class
IIB dapat dimiliki oleh parent class, dimana kode program block inisialisasi instance akan dijalankan terlebih dahulu setelah memanggil super() dalam sebuah constructor. Kompilator akan mengeksekusi parent class dari IIB sebelum mengeksekusi class IIB saat ini. Perhatikan contoh berikut ini.

Contoh:

// Program Java

// mengilustrasikan block

// inisialisasi instance

// dengan super().

 

/* Parent Class */

class

B() 

{System.out.println("B-Cons"

+"tructor dipanggil");} 

{System.out.println("B-IIB"

+" block");} 

 

/* Child class */

class A extends

A() 

{super(); 

System.out.println("A-Const"

+"ructor dipanggil");} 

{System.out.println("A-IIB"

+" block");} 

 

/* main function */

public static void main(String[] args) 

{A a = new A();} 

}

Output:
B-IIB block
B-Constructor dipanggil
A-IIB block
A-Constructor dipanggil

Pada contoh sebelumnya, kompilator mencoba mengeksekusi constructor dari class A, ketika object dari class A diciptakan. Tetapi pada saat eksekusi program, kompilator menemukan statement super() dan menuju ke contructor parent class terlebih dahulu untuk dieksekusi. Perintah dari eksekusi dalam kasus ini adalah sebagai berikut:

  • Block inisialisasi instance dari super class
  • Constructor dari super class
  • Block inisialisasi instance dari class
  • Constructor dari class

Point penting:
  • Block inisialisasi instance akan dijalankan setiap instance baru diciptakan.
  • Block inisialisasi dijalankan dalam perintah untuk tampil dalam program.
  • Block inisialisasi instance dipanggil setelah constructor parent class dipanggil yaitu setelah constructor super() dipanggil.


Artikel ini didedikasikan kepada: Abraham Dwi Wicaksono, Adnan Ghiffari, Afriza Prima Safira, Ana Tasya Putri Rahma, dan Aprillia Puteri Pradana.

6 komentar untuk "Cara Inisialisasi Block Instance Java dan Fungsinya"

  1. Apa yang dimaksud dengan IIB pada Java?

    BalasHapus
    Balasan
    1. Dalam program Java, operasi dapat dilakukan pada method, constructor, dan block inisialisasi. Instance Initialization Blocks atau IID digunakan untuk melakukan inisialisasi variabel instance dalam bahasa pemrograman Java. Inisialisasi block dijalankan setiap kali class diinisialisasi dan sebelum constructor dipanggil.

      Hapus
  2. Apa perbedaan antara SIB dan IIB pada Java?

    BalasHapus
    Balasan
    1. SIB adalah Static Initialization Block yang dijalankan ketika class dimuat dan hanya dijalankan sekali dalam seluruh eksekusi IIB. Sedankan IIB atau Instance Initialization Block dijalankan ketika constructor dipanggil tetapi sebelum eksekusi contructor dijalankan.

      Hapus
  3. Apakah dapat memiliki IIB Block dan static block dalam class yang sama?

    BalasHapus
    Balasan
    1. IIB juga dijalankan untuk menginisialisasi variabel pada Java. Dimana proses tersebut akan mengeksekusi block static yang dideklarasikan di dalam class Java.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -