Bu kodun iki sorusu varKafa karıştırıcı "özel bir yöntemi geçersiz kıl"
public class Override {
private void f() {
System.out.println("private f()");
}
public static void main(String[] args) {
Override po = new Derived();
po.f();
}
}
class Derived extends Override {
public void f() {
System.out.println("public f()");
}
}
/*
* Output: private f()
*/// :~
1) Fonksiyon f, Override po referansında nasıl görülebilir;
2) Neden çıktı "private f()"
Fakat bir alt sınıf nesnesiyle yapılan bir başvuru, bir süper sınıfın özel bir yöntemini nasıl arayabilir? Bu bir hata mı ??? –
Hayır, bu bir hata değil, tam olarak çalışması gerektiği gibi. – Jesper
Ancak bu miras kuralları ve geç bağlayıcı kurallar ihlal değil mi? –