"Halo, Amigo! Saiki aku arep nyritakake babagan carane obyek digawe."

"Apa sing rumit, Pak Rishi? Sampeyan nulis anyar lan jeneng kelas, nunjukake konstruktor sing bener, lan sampeyan wis rampung!"

"Iku bener. Nanging apa sing kedadeyan ing njero obyek nalika sampeyan nindakake?"

"Apa sing kedadeyan?"

"Iki kedadeyan: Obyek digawe ing sawetara tahapan."

1)  Pisanan, memori diparengake kanggo kabeh variabel anggota kelas.

2)  Banjur kelas dhasar diwiwiti.

3)  Banjur kabeh variabel diwenehi nilai, yen ana sing ditemtokake.

4)  Pungkasan, konstruktor diarani.

"Ora katon angel banget: pisanan variabel, banjur konstruktor."

"Ayo ndeleng cara kerjane ing conto karo rong kelas:"

Kode Katrangan
class Pet
{
 int x = 5, y = 5; ←-
 int weight = 10; ←-

 Pet(int x, int y)
 {
  this.x = x; ←-
  this.y = y; ←-
 }
}
class Cat extends Pet
{
 int tailLength = 8; ←-
 int age;
 Cat(int x, int y, int age)
 {
  super(x, y); ←-
  this.age = age; ←-
 }
}
Nyatakake rong kelas: Pet (pet) lan Kucing (kucing).

Ing kelas Cat, kita ndeleng panggilan eksplisit menyang konstruktor kelas dasar .
Sampeyan kudu tansah ing baris pisanan ing konstruktor.

Mangkene apa sing kedadeyan sawise memori diparengake:
18  - nelpon konstruktor kelas dhasar.
3, 4  - initialize variabel ing Pet.
8, 9  - nglakokake kode ing konstruktor Pet.

Banjur kelas Cat wiwit diwiwiti.
14  - miwiti variabel ing Cat
19  - nglakokake kode ing konstruktor Cat

public static void main(String[] args)
{
 Cat cat = new Cat (50, 50, 5);
}

"Sing rada mumet. Kok ruwet banget?"

"Satemene ora angel yen sampeyan ngerti apa sing kedadeyan:"

Yen kelas ora duwe konstruktor, siji bakal digawe kanthi otomatis.

Konstruktor standar
class Cat
{
 int x = 5;
 int y = 5;
}
class Cat
{
 int x = 5;
 int y = 5;
 public Cat() 
 {
 }
}

Yen sampeyan ora nelpon konstruktor kelas basa, iku bakal disebut kanthi otomatis.

Telpon saka konstruktor kelas dhasar
class Pet
{
 public String name;
}
class Pet extends Object
{
 public String name;
 public Pet()
 {
  super();
 }
}
class Cat extends Pet
{
 int x = 5;
 int y = 5;
}
class Cat extends Pet
{
 int x = 5;
 int y = 5;
 public Cat()
 {
  super();
 }
}

Variabel anggota diinisialisasi ing konstruktor.

Initialization saka variabel anggota
class Cat
{
 int x = 5;
 int y = 5;
}
class Cat
{
 int x;
 int y;
 public Cat()
 {
  super();
  this.x = 5;
  this.y = 5;
  }
}
Apa pancene kedadeyan
class Pet
{
 int x = 5, y = 5;
 int weight = 10;
 Pet(int x, int y)
 {
  this.x = x;
  this.y = y;
 }
}

class Cat extends Pet
{
 int tailLength = 8;
 int age;
 Cat(int x, int y, int age)
 {
  super(x, y);
  this.age = age;
 }
}
class Pet extends Object
{
 int x;
 int y;
 int weight;

 Pet(int x, int y)
 {
  //call of the base class's constructor
  super();
  //initialize variables
  this.x = 5;
  this.y = 5;
  this.weight = 10;
  //execute the constructor code
  this.x = x;
  this.y = y;
 }
}
class Cat extends Pet
{
 int tailLength;
 int age;
 Cat(int x, int y, int age)
 {
  //call of the base class's constructor
   super(x, y);
  //initialize variables
  this.tailLength = 8;
  //execute the constructor code
  this.age = age;
 }
}

"Saiki luwih jelas: pisanan kelas dhasar, banjur variabel ing njaba konstruktor, banjur kode konstruktor."

"Inggih, Amigo! Mekaten!"