protected Methoden

Javt

Aktives Mitglied
Hi,

Kann mir bitte jemand sagen ob folgendes stimmt:
protected Methoden können nur von abgeleiteten Klassen überschrieben werden. Doch was mich verwirrt ist: Auf protected Attribute und Methoden können sowohl alle Klassen zugreifen, die sich im selben package befinden, als auch Klassen, die von dieser Klasse abgeleitet sind.
 
A

Andgalf

Gast
Na ja das mit der package visibility stimmt für das Keyword protected immer.

Aber es liegt nun mal in der Natur der Sache, dass du Methoden nur überschreiben kannst, wenn du von der enstprechenden Klasse ableitest, selbst wenn diese public sind.
 

Xeonkryptos

Bekanntes Mitglied
protected Methoden können nur von abgeleiteten Klassen überschrieben werden.

Stimmt. Jede für andere Klassen sichtbare Methode kann von ihren Unterklassen überschrieben werden. Gilt also auch für public-Methoden und package protected (kein Deklarationstyp), sofern die erbende Klasse im selben package liegt!

Doch was mich verwirrt ist: Auf protected Attribute und Methoden können sowohl alle Klassen zugreifen, die sich im selben package befinden, als auch Klassen, die von dieser Klasse abgeleitet sind.

Auch das ist korrekt und was verwirrt dich daran?
 

Nodiraa

Mitglied
public, protected und private definieren die Sichtbarkeit.

public sollte selbsterklärend sein.

protected ist nur im package sichtbar , und also auch bei abgeleiteten Klassen.

Also kann man von außerhalb des package nicht darauf zugreifen.

private ist nur innerhalb der Klasse sichtbar. Das nennt sich Kapselung und ist notwendig, wenn man verhindern möchte, dass von außerhalb dieser Klasse Änderungen vorgenommen werden können.

Ist sicherlich etwas abstrakt und wird bei einem Beispiel nachvollziehbarer.
 
Zuletzt bearbeitet:
N

nillehammer

Gast
javt hat gesagt.:
protected Methoden können nur von abgeleiteten Klassen überschrieben werden..
Im strikten Wortsinne stimmt das. Methoden können aber sowieso nur von abgeleiteten Klassen überschrieben werden. Was Du vielleicht meintest: "protected Methoden sind nur inabgeleiteten Klassen sichtbar." Das stimmt nicht. Sie sind in Klassen desselben Packages und zusätzlich in abgeleiteten Klassen sichtbar auch wenn diese ihrerseits nicht im selben Package liegen.
 
N

nillehammer

Gast
Nodiraa hat gesagt.:
protected ist nur im package sichtbar, also auch bei abgeleiteten Klassen.

Also kann man von außerhalb des package nicht darauf zugreifen.
Falsch, sie sind in Klassen desselben Packages und zusätzlich in abgeleiteten Klassen sichtbar auch wenn diese ihrerseits nicht im selben Package liegen.
 

irgendjemand

Top Contributor
Hi,

Kann mir bitte jemand sagen ob folgendes stimmt:
protected Methoden können nur von abgeleiteten Klassen überschrieben werden. Doch was mich verwirrt ist: Auf protected Attribute und Methoden können sowohl alle Klassen zugreifen, die sich im selben package befinden, als auch Klassen, die von dieser Klasse abgeleitet sind.

methoden kann man so oder so nur in abgeleiteten klassen überschreiben ... das hat nichts mit nem access-modifier zu tun ...
 

martin2p

Mitglied
Falsch, sie sind in Klassen desselben Packages und zusätzlich in abgeleiteten Klassen sichtbar auch wenn diese ihrerseits nicht im selben Package liegen.
Dies gilt jedoch nicht für Konstruktor-Methoden und auch nicht für "normale" Methoden, wenn eine Instanz in der Kindklasse mit einem Kontruktor der Elternklasse aus einem anderen Paket erstellt werden soll und ebenfalls aus diesem Paket (der Elterklasse) auf die Instanz eine "protected" Methode angewendet werden soll.

-> Die Methode muss dann ebenfalls auf public gesetzt werden, andernfalls beschwert sich die IDE dass die Methode nicht sichtbar ist.

Erzeugt man hingegen in der Kindklasse in dem 2. Paket eine neue eigene Instanz per eigenem Konstruktor, so kann eine geerbte protected Method aus dem Paket der Eltern auf diese Instanz problemlos angewendet werden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Vererbung Probleme bei Zugriff auf protected-Methoden in einer Unterklasse Java Basics - Anfänger-Themen 27
T Kapselung: public-Methoden in protected-Klassen Java Basics - Anfänger-Themen 3
K Sichtbarkeit protected: Attribute trotzdem aufrufbar. Java Basics - Anfänger-Themen 4
H Kapselung protected aber in einer Kindklasse nicht zugänglich Java Basics - Anfänger-Themen 5
B Vererbung - Sichtbarkeitsmodifikation - protected Java Basics - Anfänger-Themen 10
S Zugriff auf protected Fields = guter Programmierstil? Java Basics - Anfänger-Themen 11
S protected = nicht protected? Java Basics - Anfänger-Themen 9
Aprendiendo Zwei Fragen und ein geerbtes "protected"-Attribut Java Basics - Anfänger-Themen 2
wilmaed protected class Java Basics - Anfänger-Themen 0
K Vererbung protected NUR für Unterklassen? Java Basics - Anfänger-Themen 17
M Schlüsselworte Ohne Modifizierer gleichbedeutend mit protected? Java Basics - Anfänger-Themen 6
K Compiler-Fehler vererbtes protected Java Basics - Anfänger-Themen 41
K Protected und Private Deklaration Java Basics - Anfänger-Themen 8
W Frage public protected konstruktor Java Basics - Anfänger-Themen 6
B Kapselung Klasse private, Konstruktor protected Java Basics - Anfänger-Themen 10
A protected Java Basics - Anfänger-Themen 18
F Ewiges Leid mit "protected" (oder "wie der beste Freund eine hinrücks betrügt") Java Basics - Anfänger-Themen 26
A Frage zu Protected in SubSubKlasse Java Basics - Anfänger-Themen 4
G Protected Variablen außerhalb der eigenen Klassenhierarchie sichtbar Java Basics - Anfänger-Themen 5
N Wann muss eine Methode - protected sein wann public wann. Java Basics - Anfänger-Themen 5
stekoe2000 protected abstrac class Java Basics - Anfänger-Themen 3
B public und protected Java Basics - Anfänger-Themen 11
S Veränderung von Protected Daten durch Übergabe? Java Basics - Anfänger-Themen 3
G Public ,private,protected Java Basics - Anfänger-Themen 1
M Konstruktor protected machen Java Basics - Anfänger-Themen 7
H protected Java Basics - Anfänger-Themen 2
U public, private, protected und "default access" - Java Basics - Anfänger-Themen 14
V Auf protected ArrayList von anderer Klasse zugreifen Java Basics - Anfänger-Themen 4
J protected und Standard Sichtbarkeit Java Basics - Anfänger-Themen 2
M Jede Variable als private, protected etc. deklarieren? Java Basics - Anfänger-Themen 7
P protected funktioniert nicht? Java Basics - Anfänger-Themen 5
DrahtEck Methoden Methoden und Werte Java Basics - Anfänger-Themen 5
emreiu Methoden Rekursive Methoden Runter- & Hochzählen Java Basics - Anfänger-Themen 2
U Funktionale Interfaces mit mehreren abstrakten Methoden? Java Basics - Anfänger-Themen 8
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
J Argumente in Methoden übergeben Java Basics - Anfänger-Themen 1
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
Say Class scope und Instance scope und Getter nur selbstgeschrieben Methoden Java Basics - Anfänger-Themen 11
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
Renjiroo Java Bmi Rechner mit Methoden Java Basics - Anfänger-Themen 4
frager2345 Thread - Methoden synchronized deklarieren Java Basics - Anfänger-Themen 10
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
Alen123 Erstes Arbeiten mit Methoden. Java Basics - Anfänger-Themen 5
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
M Erklärung von Ausnahmebehandlung in Methoden Java Basics - Anfänger-Themen 13
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
L Rekursive Methoden Java Basics - Anfänger-Themen 14
X Wie erreiche ich, dass ein Robot weitere Attribute hat, die nicht materialisiert sind, sondern nur über get/ set-Methoden simuliert sind? Java Basics - Anfänger-Themen 1
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
W Methoden aufrufen - auch klassenübergreifend? Java Basics - Anfänger-Themen 9
Kotelettklopfer Methoden nicht aufrufbar Java Basics - Anfänger-Themen 34
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
S Vererbung Abstrakte Methoden: Wozu das Ganze?! Java Basics - Anfänger-Themen 7
S abstrakte methoden in subclass? Java Basics - Anfänger-Themen 7
S Methoden - Warum int wenn auch void? Java Basics - Anfänger-Themen 3
H Kann man Methoden öfter aufrufen? Java Basics - Anfänger-Themen 2
CptK Interface Functional interface mit mehreren Methoden Java Basics - Anfänger-Themen 6
P Objekt in mehreren Methoden verwenden. Java Basics - Anfänger-Themen 3
M Aufruf von statischen Methoden einer anderen Klasse Java Basics - Anfänger-Themen 15
lougoldi Verkettung von Methoden und Konstruktoren Java Basics - Anfänger-Themen 4
Zeppi OOP Methoden mit einander Verknüpfen Java Basics - Anfänger-Themen 6
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
A Parametar übergabe zwischen Methoden Java Basics - Anfänger-Themen 26
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
P Wie rufe ich Methoden mit einer Referenz auf eine Klasse||Objekt auf Java Basics - Anfänger-Themen 4
O Attribute die Methoden zählen Java Basics - Anfänger-Themen 5
M Bräuchte Hilfe bei diesen Methoden Java Basics - Anfänger-Themen 4
G Methoden Methoden mit versch. Datentypen Java Basics - Anfänger-Themen 1
T Ich habe eine Variabel die nicht Methoden übergreifend ist. Kann mir jemand Helfen :) Java Basics - Anfänger-Themen 5
Junger_Basileus Celsius -> Fahrenheit / Strukturierung in statischen Methoden Java Basics - Anfänger-Themen 7
J Verschachtelte Methoden Java Basics - Anfänger-Themen 9
H Methoden in anderen Methoden aufrufen Java Basics - Anfänger-Themen 6
Kawastori Hilfe bei Methoden Übung Java Basics - Anfänger-Themen 6
veryck Methoden Rekursive Methoden mit Rückgabeparameter Java Basics - Anfänger-Themen 9
C Methoden können nicht auf Instanzvariable der Klasse zugreifen Java Basics - Anfänger-Themen 3
P Methoden aufrufen - Fehler Java Basics - Anfänger-Themen 20
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
P Klasse hat keinen Zugriff auf getter/setter-Methoden eines Objektes Java Basics - Anfänger-Themen 9
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
C Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln Java Basics - Anfänger-Themen 115
H Methoden in großen Klassen gruppieren oder auslagern? Java Basics - Anfänger-Themen 10
G Generics Methoden Java Basics - Anfänger-Themen 7
L Test-Methoden schreiben Java Basics - Anfänger-Themen 13
S throws bei Methoden Java Basics - Anfänger-Themen 4
L Best Practice Code Refactoring für Methoden mit fast gleicher Aufbau Java Basics - Anfänger-Themen 6
I Greedy Methode Methoden nutzen Java Basics - Anfänger-Themen 3
C Methoden-Parameter ist Interface Java Basics - Anfänger-Themen 5
A Klassen und methoden Java Basics - Anfänger-Themen 15
S Übergabe von Arrays an Methoden Java Basics - Anfänger-Themen 20
L Methoden Wie Löse ich ext Methoden Aufruf Fehler? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben