Sobes.tech
Junior

Java'da yapıcıları yeniden tanımlayabilir miyiz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Hayır, Java'da yapıcılar (constructors) üzerine yazılmaz (overriding). Overriding, alt sınıfın metodlarının, ana sınıftaki metodla aynı imzaya (isim, dönüş tipi ve parametre listesi) sahip olmasıyla ilgilidir.

Bunun yerine, Java'da yapıcılar aşırı yükleme (overloading) kullanılarak tanımlanır. Bu, aynı sınıfta farklı parametre listelerine (sayısı, türleri veya sırası) sahip birden fazla yapıcı olabileceği anlamına gelir.

Alt sınıf, ana sınıfın yapıcılarını super(...) anahtar kelimesini kullanarak çağırabilir.

Aşırı yükleme örneği:

class MyClass {
    int value;
    String name;

    // Varsayılan yapıcı
    public MyClass() {
        this.value = 0;
        this.name = "default";
        // Diğer yapıcıyı this() ile çağırma
        this(0, "default"); 
    }

    // Bir parametreli aşırı yüklenmiş yapıcı
    public MyClass(int value) {
        this.value = value;
        this.name = "default";
    }

    // İki parametreli aşırı yüklenmiş yapıcı
    public MyClass(int value, String name) {
        this.value = value;
        this.name = name;
    }
}