logo

Neden Java'da Constructor Kullanıyoruz?

Bu bölümde öğreneceğiz Java'da neden yapıcı kullanıyoruz? Ve amaç ne Ve yapıcının ihtiyacı . Bununla birlikte şunları da göreceğiz. yapıcı türleri.

Java'da, yapıcı yönteme benzer. Yapıcının özelliği, sınıf adıyla aynı ada sahip olması gerektiğidir. Dönüş türü yoktur. Yapıcıyı manuel olarak çağırmamıza gerek yok. Örnekleme sırasında otomatik olarak örtülü olarak çağrılır.

dizi dilimleme java

Başka bir deyişle yapıcı, nesne oluşturma sırasında çalışma zamanında new operatörü kullanılarak çağrılan bir yöntemdir. Bir nesne oluşturduğumuzda JVM onu otomatik olarak çağırır. Sınıfta bir kurucu tanımlamadığımızda, varsayılan kurucu her zaman görünmez bir şekilde sınıfta bulunur. Yapıcıları kullanmanın aşağıdaki nedenleri vardır:

  • Nesneyi varsayılan veya başlangıç ​​durumuyla başlatmak için yapıcıları kullanırız. İlkellerin varsayılan değerleri aradığınız şey olmayabilir.
  • Yapıcıyı kullanmanın bir başka nedeni de bağımlılıklar hakkında bilgi vermesidir. Başka bir deyişle, yapıcıyı kullanarak o sınıfın kullanıcısından gerekli bağımlılıkları talep edebiliriz.
  • Bu sınıfı kullanmak için neye ihtiyacı olduğunu sadece yapıcıya bakarak öğrenebiliriz.

Kısacası, yapıcıyı şunu yapmak için kullanıyoruz: Sınıfın örnek değişkenini başlatın.

Yapıcı Türleri

Java'da iki tür yapıcı vardır:

c++ çifti
  • Parametrelendirilmiş Oluşturucu
  • Varsayılan Yapıcı

Parametreli Oluşturucu

Adından da anlaşılacağı gibi argümanları (parametreleri) kabul eder. Parametreli yapıcı, örnek değişkenleri örnekleme sırasında belirtilen değerlerle dinamik olarak başlatmak istiyorsak kullanılır.

Örnek

 public class Demo { int i; //parameterized constructor public demo(int i) { this.i = i; } } 

Varsayılan Yapıcı

Varsayılan yapıcı herhangi bir parametreyi kabul etmez. Örnek değişkenleri belirli değerlerle başlatmak istiyorsak kullanılır. Her Java sınıfının görünmez bir şekilde varsayılan bir yapıcısı vardır. Dolayısıyla onu ayrıca tanımlamamıza gerek yok. Parametreli bir kurucu oluşturduğumuzda varsayılan kurucunun sınıftan kaldırıldığını unutmayın.

Örnek

 public class Demo { int i; //default constructor public demo() { //the value of i is fixed this.i = 100; } } 

Not: Bir Java programına herhangi bir kurucu vermediğimizde, Java derleyicisi programcı adına varsayılan kurucuyu yazar ve programı derler. Örnek değişkenlerini varsayılan değerlerle başlatır. Örneğin, tamsayı için 0, kayan nokta için 0,0 ve String için null.

Bir program oluşturalım ve varsayılan ve parametreli kurucuyu kullanalım.

Employee sınıfında, biri varsayılan kurucu, diğeri parametreli kurucu olmak üzere iki kurucu oluşturduk. Çalışan sınıfının ad ve yaş olmak üzere iki özel değişkeni vardır. Ana yöntemde sınıfı başlattık ve her iki yapıcıyı da kullandık.

Çalışan.java

c++'da dize işleme
 import java.util.Scanner; public class Employee { private String name; private int age; //parameterized constructor public Employee(String name, int age) { this.name =name; this.age = age; } //Default constructor public Employee() { this.name = 'William'; this.age = 28; } //method for printing the values public void show() { System.out.println('Name of the employee: '+this.name); System.out.println('Age of the employee: '+this.age); } //main method public static void main(String args[]) { Employee e=new Employee(); //Reading values from user Scanner sc = new Scanner(System.in); System.out.println('Enter the name of the employee: '); String name = sc.nextLine(); System.out.println('Enter the age of the employee: '); int age = sc.nextInt(); System.out.println(' '); //Calling the parameterized constructor System.out.println('Show() method for the parameterized constructor: '); new Employee(name, age).show(); //Calling the default constructor System.out.println('Show() method for the default constructor: '); new Employee().show(); } } 

Çıktı:

 Enter the name of the employee: David Enter the age of the employee: 27 Show() method for the parameterized constructor: Name of the employee: David Age of the employee: 27 Show() method for the default constructor: Name of the employee: William Age of the employee: 28