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;
}
}