Wenn Sie eine Methode in einer Schnittstelle deklarieren public
standardmäßig. Aber wenn Sie es in einer Klasse definieren, ist es so, als ob Sie den Zugriffsmodifikator nicht angeben default
. Bei der Implementierung einer Schnittstelle können Sie die überarbeitete Methode keinen schwächeren Zugriff zuweisen. Wenn Sie eine Schnittstellenmethode implementieren, muss sie deklariert werden public
.
Java: Zugriffsberechtigungen mithilfe der Schnittstelle verstehen
Frage
1 public interface Word { boolean isSpelled(String w); }
2
3 abstract class Verb3 implements Word {
4 boolean isSpelled(String w) { return true;}
5 }
Dies ist eine Frage aus dem OCJP -Mock -Test. Der obige Code gibt Fehler in Zeile 4 zurück, und die Antwort besagt, dass die Verb3 -Klasse nicht versucht, eine schwächere Zugriffsberechtigte an die methode zuzuweisen.
Weiß jemand, was es bedeutet?
Wenn Sie Schnittstellen implementieren, sollte das Zugriffsberechtigte außerdem von den Methoden abhängen, die in den Schnittstellen deklariert werden? Zum Beispiel,
1 public interface Word { public boolean isSpelled(String w); }
Mithilfe der Öffentlichkeit oder des Standards (in diesem Fall kein Zugriffsmodifikator) können Sie auf die Methode zugreifen oder überschreiben. Bitte korrigieren Sie mich, falls ich falsch liege. Vielen Dank.
Lösung
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow