Ich bin neu in Java und habe eine sehr grundlegende Frage.
Ich habe 2 Elternklassen unter demselben Paket. Animal
Abstract Class und Machine
Class.
Jetzt hat die Klasse Animal
Abstract eine geschützte Methode. Ich bin mir bewusst, dass geschützte Methoden zugänglich sind, wenn die Klassen unter dem gleichen Paket sind.
Ich kann auf diese geschützte Methode in meiner Machine
-Klasse zugreifen, und die Frage lautet .. Ist es möglich, diese geschützte Methode zu überschreiben? Ohne die Animal
-Klasse zu erweitern.
Nein Das Überschreiben bedeutet, dass das Verhalten von der übergeordneten Klasse übernommen wird und dass dies nicht möglich ist, ohne die Klasse zu erweitern.
%Vor%Führen Sie den folgenden Code aus, um es zu testen
%Vor% O/p=false
Hier überschreiben wir das Verhalten von methodA
Das Überschreiben per Definition sagt ..
Eine Instanzmethode in einer Unterklasse mit derselben Signatur (Name, plus Nummer und Typ ihrer Parameter) und Rückgabetyp als Instanzmethode in der Oberklasse überschreibt die Methode der Oberklasse.
So AFAIK, wenn Sie die Super-Klasse nicht erweitern, gibt es keine Möglichkeit, die Methode zu überschreiben.
Geschützt kann nur von Unterklassen in anderen Paketen zugegriffen werden. Klassen in demselben Paket können auch auf geschützte Felder, Methoden und Konstruktoren zugreifen, auch wenn sie keine Unterklasse der Klasse des geschützten Members sind.
Überschreiben: Eine Instanzmethode in einer Unterklasse mit derselben Signatur.
Antwort auf Ihre Frage:
Aber wenn du extends
Animal class
in deinem Machine class
nicht willst, dann überschreibt es nicht nur eine normale Funktion deiner eigenen Klasse.
Tags und Links java