Java 2 Adet Constructor (Yapıcı) Kullanımı

Bu yazımda biri default olmak üzere iki adet constructor kullanımı bize ne fayda sağlar onu anlatacağım.Öncelikle Kisi diye bir sınıfım var içerisinde ad,soyad ve yaş bilgilerini tutuyor.İkinci sınıfım olan test sınıfı içerisinde ise Kisi sınıfından iki farklı şekilde nesne oluşturup değer atama işlemini nasıl yaparım onu açıklamaya çalıştım.

public class Kisi {

private String ad;
private String soyad;
private int yas;

public Kisi(String ad, String soyad, int yas) {
this.ad = ad;
this.soyad = soyad;
this.yas = yas;
}

public Kisi(){
}

public String getAd() {
return ad;
}

public void setAd(String ad) {
this.ad = ad;
}

public String getSoyad() {
return soyad;
}

public void setSoyad(String soyad) {
this.soyad = soyad;
}

public int getYas() {
return yas;
}

public void setYas(int yas) {
this.yas = yas;
}

}

public class Test {

public static void main(String[] args) {
//default constructor kullanarak oluşturduğum nesne
Kisi k1=new Kisi();
k1.setAd("Emrah");
k1.setSoyad("Kahraman");
k1.setYas(20);

//override edilmiş constructor kullanarak oluşturduğum nesne
Kisi k2=new Kisi("Olcay","Kahraman",18);

}

}

“Java 2 Adet Constructor (Yapıcı) Kullanımı” üzerine 8 yorum.

  1. merhaba benim bir sorum olacak;
    test class’ında ad soyad ve yas değerlerini ekrana yazdırmam için ne yapmam gerekiyor?
    yardımlarınız için teşekkürler

    1. Eclipse kullanıyorsan Kisi sınıfı içinde sağ tıklayıp Source bölümünde Generate toString() butonuna basarsan ve açılan pencerede ok deyip daha sonra Test sınıfı içinde aşağıdaki kodu yazıp çalıştırdığında ekrana oluşturduğun k1 nesnesinin içeriğini yazacaktır.
      System.out.println(k1.toString());

      toString() metodunu gerçekleştirmeden direk test sınıfı içerisinde
      System.out.println(k1.getAd());
      yazarakta ad bilgisine ulaşabilirsin ben burda ad bilgisine ulaştım sen isteğine göre yas ve soyadıda yazdırabilirsin.

      1. Kodu çalıştırdığında ekran çıktısı şöyle olur.

        Kisi [ad=Emrah, soyad=Kahraman, yas=20]
        Emrah

  2. ayrıca bi sorum daha olucak
    Kisi sınıfında neden “this” kullandık? this kullanmanın amacı nedir?
    teşekkürler

  3. Constructor’a parametre gelen değişkenler ile sınıf içerisindeki değişkenlerin aynı olması sebebiyle sınıf içindeki değişkene ilk değer ataması yapıldığını belirtmek için başına this kullanırız.

    Eğer constructor şöyle olsaydı this yazmamıza gerek yoktu.

    public Kisi(String name, String surname, int age) {
    ad = name;
    soyad = surname;
    yas = age;
    }

  4. Benim de bir sorum olacak ,overloaded constructor kullanırken oluşturacağım objeleri kullanıcıdan alırsam hangisine göre oluşturacağımı nasıl kontrol edeceğim? Örneğin birincisi sadece isimle oluşturulsun diğeri isim soyisim alsın ,kullanıcı soyisim girmek istiyormusun sorusuna evet derse nasıl ikinci constructora göre oluşturulacak? şimdiden çok teşekkür ederim bu blogdan çok şey öğrendim..

Bir cevap yazın