Hi,
ich dachte immer man kann die Sichtbarkeit von Modifiern nur weiter einschränken aber nicht erweitern.
Wenn ich also eine Oberklasse mit einer public Methode habe, dann kann die Unterklasse davon die sichbarkeit auf private, protected oder "package" herunterstufen.
Wenn eine Oberklasse eine private Methode hat, so kann die Unterklasse diese durch Überschreiben nicht auf public erweitern.
Warum ist es also möglich eine protected Methode einer Oberklasse in einer Unterklasse auf public zu erweitern?
Ich sehe immer wieder, dass die clone Methode der Oberklasse Object überschrieben und deren Sichtbarkeit von protected auf public erweitert wird.
ich dachte immer man kann die Sichtbarkeit von Modifiern nur weiter einschränken aber nicht erweitern.
Wenn ich also eine Oberklasse mit einer public Methode habe, dann kann die Unterklasse davon die sichbarkeit auf private, protected oder "package" herunterstufen.
Wenn eine Oberklasse eine private Methode hat, so kann die Unterklasse diese durch Überschreiben nicht auf public erweitern.
Warum ist es also möglich eine protected Methode einer Oberklasse in einer Unterklasse auf public zu erweitern?
Ich sehe immer wieder, dass die clone Methode der Oberklasse Object überschrieben und deren Sichtbarkeit von protected auf public erweitert wird.
Java:
public class Buffer implements Cloneable {
int[] buffer = new int[100];
...
public Object clone() {
Object theClone = null;
try {
theClone = super.clone();
}
catch(CloneNotSupportedException e) {
}
return theClone;
}
}