Java - Yapıcılar

Yapıcı, oluşturulduğunda bir nesneyi başlatır. Sınıfıyla aynı ada sahiptir ve sözdizimsel olarak bir yönteme benzer. Ancak, kurucuların açık bir dönüş türü yoktur.

Tipik olarak, sınıf tarafından tanımlanan örnek değişkenlerine başlangıç ​​değerleri vermek veya tam olarak oluşturulmuş bir nesne oluşturmak için gereken diğer başlatma prosedürlerini gerçekleştirmek için bir kurucu kullanırsınız.

İster tanımlasanız da tanımlasanız da, tüm sınıfların kurucuları vardır, çünkü Java otomatik olarak tüm üye değişkenleri sıfır olarak başlatan varsayılan bir kurucu sağlar. Bununla birlikte, kendi kurucunuzu tanımladığınızda, varsayılan kurucu artık kullanılmaz.

Sözdizimi

Bir kurucunun sözdizimi aşağıdadır -

class ClassName {
   ClassName() {
   }
}

Java, iki tür kurucuya izin verir:

  • Oluşturucular yok
  • Parametreli Oluşturucular

Oluşturucular yok

Ad, Java'nın argüman yok yapıcılarını belirttiği için bunun yerine herhangi bir parametre kabul etmez, bu yapıcılar kullanıldığında bir yöntemin örnek değişkenleri tüm nesneler için sabit değerlerle başlatılır.

Misal

Public class MyClass {
   Int num;
   MyClass() {
      num = 100;
   }
}

Nesneleri başlatmak için yapıcıyı aşağıdaki gibi çağırırsınız

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass();
      MyClass t2 = new MyClass();
      System.out.println(t1.num + " " + t2.num);
   }
}

Bu, aşağıdaki sonucu verecektir

100 100

Parametreli Oluşturucular

Çoğu zaman, bir veya daha fazla parametreyi kabul eden bir kurucuya ihtiyacınız olacaktır. Parametreler bir kurucuya, bir yönteme eklendikleri gibi eklenir; bunları yapıcının adından sonra parantez içinde bildirmeniz yeterlidir.

Misal

İşte bir yapıcı kullanan basit bir örnek -

// A simple constructor.
class MyClass {
   int x;
   
   // Following is the constructor
   MyClass(int i ) {
      x = i;
   }
}

Yapıcıyı nesneleri başlatmak için aşağıdaki gibi çağırırsınız -

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass( 10 );
      MyClass t2 = new MyClass( 20 );
      System.out.println(t1.x + " " + t2.x);
   }
}

Bu, aşağıdaki sonucu verecektir -

10 20