logo

Java'daki yapıcılar

  1. Yapıcı türleri
    1. Varsayılan Yapıcı
    2. Parametreli Oluşturucu
  2. Yapıcının Aşırı Yüklenmesi
  3. Yapıcı herhangi bir değer döndürüyor mu?
  4. Bir nesnenin değerlerini diğerine kopyalama
  5. Yapıcı başlatma yerine başka görevleri yerine getiriyor mu?

İçinde Java Bir yapıcı, yönteme benzer bir kod bloğudur. Bir örneği olduğunda çağrılır sınıf yaratıldı. Yapıcının çağrılması sırasında, bellekte nesne için bellek ayrılır.

Nesneyi başlatmak için kullanılan özel bir yöntem türüdür.

new() anahtar sözcüğü kullanılarak bir nesne oluşturulduğunda en az bir kurucu çağrılır.

Sınıfta mevcut bir kurucu yoksa varsayılan bir kurucuyu çağırır. Böyle bir durumda Java derleyicisi varsayılan olarak varsayılan bir kurucu sağlar.

Java'da iki tür kurucu vardır: argümansız kurucu ve parametreli kurucu.

Not: Yapıcı olarak adlandırılır çünkü değerleri nesne yaratıldığı sırada oluşturur. Bir sınıf için yapıcı yazmaya gerek yoktur. Bunun nedeni, sınıfınızda yoksa Java derleyicisinin varsayılan bir kurucu oluşturmasıdır.

Java yapıcısı oluşturma kuralları

Yapıcı için tanımlanmış iki kural vardır.

java için mvc
  1. Yapıcı adı sınıf adıyla aynı olmalıdır
  2. Bir Yapıcının açık bir dönüş türü olmamalıdır
  3. Bir Java yapıcısı soyut, statik, nihai ve senkronize olamaz

Not: Kullanabiliriz erişim değiştiricileri Bir kurucu bildirirken. Nesne oluşumunu kontrol eder. Başka bir deyişle Java'da özel, korumalı, genel veya varsayılan kurucuya sahip olabiliriz.

Java yapıcılarının türleri

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

  1. Varsayılan kurucu (arg olmayan kurucu)
  2. Parametreli yapıcı
Java Oluşturucuları

Java Varsayılan Oluşturucusu

Bir yapıcıya herhangi bir parametresi olmadığında 'Varsayılan Yapıcı' adı verilir.

Varsayılan kurucunun sözdizimi:

 (){} 

Varsayılan kurucu örneği

Bu örnekte Bike sınıfında argümansız kurucuyu yaratıyoruz. Nesne yaratıldığı sırada çağrılacaktır.
 //Java Program to create and call a default constructor class Bike1{ //creating a default constructor Bike1(){System.out.println('Bike is created');} //main method public static void main(String args[]){ //calling a default constructor Bike1 b=new Bike1(); } } 
Şimdi Test Edin

Çıktı:

 Bike is created 

Kural: Bir sınıfta yapıcı yoksa, derleyici otomatik olarak varsayılan kurucuyu oluşturur.

Java varsayılan yapıcısı

S) Varsayılan kurucunun amacı nedir?

Varsayılan yapıcı, türüne bağlı olarak nesneye 0, null vb. gibi varsayılan değerleri sağlamak için kullanılır.

Varsayılan değerleri görüntüleyen varsayılan kurucu örneği

 //Let us see another example of default constructor //which displays the default values class Student3{ int id; String name; //method to display the value of id and name void display(){System.out.println(id+' '+name);} public static void main(String args[]){ //creating objects Student3 s1=new Student3(); Student3 s2=new Student3(); //displaying values of the object s1.display(); s2.display(); } } 
Şimdi Test Edin

Çıktı:

 0 null 0 null 

Açıklama: Yukarıdaki sınıfta herhangi bir kurucu oluşturmazsınız, dolayısıyla derleyici size varsayılan bir kurucu sağlar. Burada 0 ve null değerleri varsayılan kurucu tarafından sağlanır.


Java Parametreli Oluşturucu

Belirli sayıda parametreye sahip bir yapıcıya parametreli yapıcı denir.

Neden parametreli yapıcıyı kullanmalısınız?

Parametreli yapıcı, farklı nesnelere farklı değerler sağlamak için kullanılır. Ancak aynı değerleri de sağlayabilirsiniz.

Parametreli kurucu örneği

Bu örnekte Öğrenci sınıfının iki parametreli yapıcısını oluşturduk. Yapıcıda herhangi bir sayıda parametreye sahip olabiliriz.

 //Java Program to demonstrate the use of the parameterized constructor. class Student4{ int id; String name; //creating a parameterized constructor Student4(int i,String n){ id = i; name = n; } //method to display the values void display(){System.out.println(id+' '+name);} public static void main(String args[]){ //creating objects and passing values Student4 s1 = new Student4(111,'Karan'); Student4 s2 = new Student4(222,'Aryan'); //calling method to display the values of object s1.display(); s2.display(); } } 
Şimdi Test Edin

Çıktı:

 111 Karan 222 Aryan 

Java'da Yapıcının Aşırı Yüklenmesi

Java'da yapıcı tıpkı bir yöntem gibidir ancak dönüş türü yoktur. Ayrıca Java yöntemleri gibi aşırı yüklenebilir.

Oluşturucu Java'da aşırı yükleme farklı parametre listelerine sahip birden fazla kurucuya sahip olma tekniğidir. Her kurucunun farklı bir görevi yerine getireceği şekilde düzenlenirler. Derleyici tarafından listedeki parametre sayısına ve türlerine göre ayrılırlar.

Yapıcının Aşırı Yüklenmesi Örneği

 //Java program to overload constructors class Student5{ int id; String name; int age; //creating two arg constructor Student5(int i,String n){ id = i; name = n; } //creating three arg constructor Student5(int i,String n,int a){ id = i; name = n; age=a; } void display(){System.out.println(id+' '+name+' '+age);} public static void main(String args[]){ Student5 s1 = new Student5(111,'Karan'); Student5 s2 = new Student5(222,'Aryan',25); s1.display(); s2.display(); } } 
Şimdi Test Edin

Çıktı:

 111 Karan 0 222 Aryan 25 

Java'da yapıcı ve yöntem arasındaki fark

Yapıcılar ve yöntemler arasında birçok fark vardır. Aşağıda verilmiştir.

Java dizisi sıralandı
Java OluşturucuJava Yöntemi
Bir nesnenin durumunu başlatmak için bir yapıcı kullanılır.Bir nesnenin davranışını ortaya çıkarmak için bir yöntem kullanılır.
Bir yapıcının dönüş tipi olmamalıdır.Bir yöntemin bir dönüş türüne sahip olması gerekir.
Yapıcı örtülü olarak çağrılır.Yöntem açıkça çağrılır.
Bir sınıfta herhangi bir kurucunuz yoksa, Java derleyicisi varsayılan bir kurucu sağlar.Yöntem hiçbir durumda derleyici tarafından sağlanmaz.
Yapıcı adı sınıf adıyla aynı olmalıdır.Yöntem adı sınıf adıyla aynı olabilir veya olmayabilir.

Java Yapıcıları ve Yöntemler

Java Kopya Oluşturucusu

Java'da kopya oluşturucu yoktur. Ancak, C++'daki kopya yapıcısı gibi, değerleri bir nesneden diğerine kopyalayabiliriz.

Java'da bir nesnenin değerlerini diğerine kopyalamanın birçok yolu vardır. Bunlar:

  • Yapıcıya göre
  • Bir nesnenin değerlerini diğerine atayarak
  • Object sınıfının clone() yöntemiyle

Bu örnekte, Java yapıcısını kullanarak bir nesnenin değerlerini diğerine kopyalayacağız.

 //Java program to initialize the values from one object to another object. class Student6{ int id; String name; //constructor to initialize integer and string Student6(int i,String n){ id = i; name = n; } //constructor to initialize another object Student6(Student6 s){ id = s.id; name =s.name; } void display(){System.out.println(id+' '+name);} public static void main(String args[]){ Student6 s1 = new Student6(111,'Karan'); Student6 s2 = new Student6(s1); s1.display(); s2.display(); } } 
Şimdi Test Edin

Çıktı:

 111 Karan 111 Karan 

Değerleri yapıcı olmadan kopyalama

Nesnelerin değerlerini başka bir nesneye atayarak bir nesnenin değerlerini başka bir nesneye kopyalayabiliriz. Bu durumda yapıcıyı oluşturmaya gerek yoktur.

 class Student7{ int id; String name; Student7(int i,String n){ id = i; name = n; } Student7(){} void display(){System.out.println(id+' '+name);} public static void main(String args[]){ Student7 s1 = new Student7(111,'Karan'); Student7 s2 = new Student7(); s2.id=s1.id; s2.name=s1.name; s1.display(); s2.display(); } } 
Şimdi Test Edin

Çıktı:

 111 Karan 111 Karan 

S) Yapıcı herhangi bir değer döndürüyor mu?

Evet, geçerli sınıf örneğidir (Dönüş türünü kullanamazsınız, ancak bir değer döndürür).


Yapıcı başlatma yerine başka görevleri gerçekleştirebilir mi?

Evet, nesne oluşturma, iş parçacığı başlatma, yöntem çağırma vb. gibi. Yöntemde gerçekleştirdiğiniz gibi yapıcıda da herhangi bir işlemi gerçekleştirebilirsiniz.


Java'da Yapıcı sınıfı var mı?

Evet.


Yapıcı sınıfının amacı nedir?

Java, sınıftaki bir yapıcının dahili bilgilerini almak için kullanılabilecek bir Yapıcı sınıfı sağlar. Java.lang.reflect paketinde bulunur.