Ein interface und private Methoden?

Status
Nicht offen für weitere Antworten.
F

frager

Gast
hallo, warum kann ich denn in einem interface keine privaten methoden anlegen? ich moechte spaeter in der klasse, die das implementiert nur eine public methode haben. verseth ich was falsch?

gruesse und vielen dank :)
 

FelixB

Bekanntes Mitglied
Ein Interface ist dazu gedacht, eine Schnittstelle zu spezifizieren.

Der Programmierer von Klasse A weiß dann genau, dass Klasse B genau die Methoden m1, m2 und m3 besitzt und wie diese aufzurufen sind, wenn diese Klasse B das interface I implementiert.

"private" Methoden sind nur intern für die jeweilige Klasse relevant, nicht jedoch für andere Klassen. Insofern ist es sinnlos, "private" Methoden in einem Interface zu deklarieren.

das gewünschte Verhalten lässt sich erzwingen, indem du kein Interface, sondern eine abstrakte Klasse erstellst. Ob das sinnvol ist, steht auf einem anderen Blatt...

bye
Felix
 

EOB

Top Contributor
aber es koennte ja jemand eine methode aufrufen, die zu einem bestimmten zeitpunkt nicht aufgerufen werden darf?
gruesse
 

Waldbeere

Mitglied
Hi,

für sowas schreibt man dann wieder rum andere Methoden mit denen sich überprüfen
lässt ob man eine andere Methode aufrufen sollte. Es gibt da z.B den wunderschönen
Iterator. Mit diesem kann man z.B sich mit der Methode next() immer das nächste Element
in der Liste geben lassen. Blöd ist sowas natürlich, wenn die Liste schon leer ist und man
weiter next() fragt. Aus diesem Grund gibt es die Methode hasNext(), und
schreibt das dann so, und hat keine Sorgen:

Code:
List<String> namen = new LinkedList<String>();

namen.add("Hans");
namen.add("Klaus");
namen.add("Fritz");

Iterator<String> theIterator = namen.iterator();

while (theIterator.hasNext()) {
    System.out.println(theIterator.next());
}

Wenn Du ohne hasNext() arbeitest und mehr aus der Liste rausholen willst als drin ist kriegst Du eine
NoSuchElementException.

Gruß Waldbeere
 

Campino

Top Contributor
SlaterB: Der Iterator war ein beispiel....

Ansonsten: soweit ich weiß kann man in einem Interface protected-Methoden anlegen. darüber wie sinnvoll das ist, kann man sich allerdings tatsächlich streiten...
 

Ark

Top Contributor
protected? Hm, das möchte ich mal anzweifeln. Mit einem "implements Interface" garantierst Du ja Methoden, die von überall dort aus erreichbar sind, wo das Interface selbst erreicht werden kann. … Oder etwa nicht? ???:L
 

Jango

Gesperrter Benutzer
Ark hat gesagt.:
protected? Hm, das möchte ich mal anzweifeln. Mit einem "implements Interface" garantierst Du ja Methoden, die von überall dort aus erreichbar sind, wo das Interface selbst erreicht werden kann. … Oder etwa nicht? ???:L

...und das wäre bei protected Methoden nur im eignen package so.
 

Ark

Top Contributor
So weit ich weiß, sind als protected Deklarierte auch außerhalb des definierenden Pakets erreichbar. Was aber eventuell ginge, wären package-private Interfaces mit ebenso erreichbaren Methoden. Ich bin mir aber nicht sicher.
 
G

Guest

Gast
Ark hat gesagt.:
So weit ich weiß, sind als protected Deklarierte auch außerhalb des definierenden Pakets erreichbar. Was aber eventuell ginge, wären package-private Interfaces mit ebenso erreichbaren Methoden. Ich bin mir aber nicht sicher.

protected

Methoden oder Variablen vom Typ protected sind in der aktuellen Klasse und in abgeleiteten Klassen sichtbar. Darüber hinaus sind sie für Methoden anderer Klassen innerhalb desselben Pakets sichtbar. Sie sind jedoch nicht für Aufrufer der Klasse sichtbar, die in anderen Paketen definiert wurden.
Quelle: www.javabuch.de

Ich denke mal, dass das für Schnittstellen genauso gilt, oder? :wink:
 

Tobias

Top Contributor
Ein Interface ist eine abstrakte Klasse, dir nur public abstract Methoden zuläßt. Nichts mit private oder protected. Welchen Sinn hätte das denn auch?

mpG
Tobias
 

Leroy42

Top Contributor
frager hat gesagt.:
ich moechte spaeter in der klasse, die das implementiert nur eine public methode haben.

Dann lass doch einfach nicht deine Klasse selbst,
sondern eine Innere Klasse von ihr (static oder nicht
hängt von deinen Bedürfnissen ab) das Interface implementieren.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Leere vererbte Interface-Methoden Allgemeine Java-Themen 8
OnDemand Interface imlementieren Allgemeine Java-Themen 4
Buroto Interface Allgemeine Java-Themen 2
T Komische Zeichen im Zusammenhang mit Serializable interface Allgemeine Java-Themen 13
M Kann man Annotationen auf Klassen einschränken die ein Interface implementieren? Allgemeine Java-Themen 1
H Kombination Interface und Abstrakte Klasse bei Generics Allgemeine Java-Themen 3
B JaxB und @XmlIDREF mit Interface Allgemeine Java-Themen 1
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
P Abstrakte Klassen vs. Interface Allgemeine Java-Themen 4
Kirby.exe Autocloseable Interface Allgemeine Java-Themen 2
T Abgeleitetes Interface public ohne Schlüsselwort "interface"? Allgemeine Java-Themen 3
S static in Interface und Klasse Allgemeine Java-Themen 2
S static methode im Interface Allgemeine Java-Themen 1
S Interface, generischer Datentyp, Exception? Allgemeine Java-Themen 3
B Vererbung Interface und implementierende Klassen Allgemeine Java-Themen 8
A Anonyme Klassen - Interface Allgemeine Java-Themen 5
C Ein Iterator ist eine Implementierung des Interface Iterable? Allgemeine Java-Themen 2
J Generische Interface - Problem Allgemeine Java-Themen 3
mrBrown Namensfindung Fluent-Interface Allgemeine Java-Themen 0
J Logik in Interface Allgemeine Java-Themen 2
N Best Practice Allgemeines Verhalten für ein Interface implementieren? Allgemeine Java-Themen 7
B eigenes Consumer Interface Allgemeine Java-Themen 0
S 2 methoden mit gleichen namen und ein Interface Allgemeine Java-Themen 9
N GUI Interface, swing Allgemeine Java-Themen 7
Thallius Konzeptproblem User-Interface Allgemeine Java-Themen 5
T Interface vs abstract Allgemeine Java-Themen 2
S Klassen Abstract, Interface und ein Chat Tool Allgemeine Java-Themen 1
I Interface Interface / Klasse - wieso Abstract? Allgemeine Java-Themen 13
D generische Interface und konkrete Methode Allgemeine Java-Themen 3
C Klassen Problem mit Funktion einer Generischen Klasse die ein Interface implementiert Allgemeine Java-Themen 0
N Problem mit Generics und Interface Allgemeine Java-Themen 4
D Methode mit optionalen Parametern in Interface Allgemeine Java-Themen 3
T Interface mit generische Typen Allgemeine Java-Themen 5
M Interface einer Library implementieren Allgemeine Java-Themen 3
A Klassen ein Interface aufzwingen Allgemeine Java-Themen 4
Bananabert Interface Custom 'Event' mit Interface Allgemeine Java-Themen 10
J Interface Serializable Methodensignatur Allgemeine Java-Themen 2
J Interface Interface für Framework verwenden Allgemeine Java-Themen 4
F Interface IInterface oder Interface? Allgemeine Java-Themen 3
M Generics (bounded wildcards statt Interface Bezeichnern) -- Sinn oder Unsinn? Allgemeine Java-Themen 2
T Interface Probleme Allgemeine Java-Themen 8
M Queues und Queue Interface Allgemeine Java-Themen 3
I Mehrfaches Implementieren eines generischen Interface Allgemeine Java-Themen 9
W Java Native Interface und "mp3player" Allgemeine Java-Themen 3
M Über Liste verschiendene JComponents mit eigenem implementierten Interface ansprechen Allgemeine Java-Themen 7
P Eclipse Java Native Interface-Problem Allgemeine Java-Themen 8
Z Abstrakte Klassen /Interface Allgemeine Java-Themen 5
pg1337 Interface-Frage Allgemeine Java-Themen 24
S Interface Welchen Interface Stil favorisiert ihr? (usability) Allgemeine Java-Themen 17
faetzminator statische Variablen in Interface - Vererbung? Allgemeine Java-Themen 9
R Implementierung eines Interface durch 2 verschiedene Klassen Allgemeine Java-Themen 6
T OpenOffice Interface Elemente Ein/Ausblenden Allgemeine Java-Themen 5
K Interface Interface comparable machen Allgemeine Java-Themen 9
T Interface > Abstract > Class Allgemeine Java-Themen 11
N Trick für Compilerfehler bei fehlendem Interface Allgemeine Java-Themen 12
X Interface - Klasse einladen Allgemeine Java-Themen 6
G Interface -> InterfaceImplementierung Allgemeine Java-Themen 3
Ark Array durch Interface ersetzen Allgemeine Java-Themen 7
R Interface instanzieren Allgemeine Java-Themen 8
B Frage zu Interface und List Allgemeine Java-Themen 4
KrokoDiehl JNI: native im Interface Allgemeine Java-Themen 4
S normale vererbung als interface Allgemeine Java-Themen 2
E Beispiel für ein möglichst einfaches Interface Allgemeine Java-Themen 22
N Unterschied abstract interface und interface Allgemeine Java-Themen 4
S interface verbung problem Allgemeine Java-Themen 9
S problem programm mit interface: Allgemeine Java-Themen 3
R Vererbung mit Interface und Abstract Allgemeine Java-Themen 3
B Interface und von Thread ableiten Allgemeine Java-Themen 6
R Interface Serializable technische Begrenzung Allgemeine Java-Themen 2
T Interface-Referenz Allgemeine Java-Themen 2
L interface abstrakte klasse Allgemeine Java-Themen 21
S Interface Geschäftslokik & GUI Allgemeine Java-Themen 6
G Interface zwischen 2 Programmierern Allgemeine Java-Themen 10
C Schnittstellen(interface) Allgemeine Java-Themen 9
N List<? implements "Interface"> geht nicht Allgemeine Java-Themen 13
D javadoc interface + implementation + @overrides Allgemeine Java-Themen 16
G Interface oder abstrakte Klasse Allgemeine Java-Themen 4
T Parameter einer Klasse auf Interface prüfen Allgemeine Java-Themen 6
A feststellen, welche Klassen ein Interface implementieren Allgemeine Java-Themen 3
G class, interface, or enum exp? Allgemeine Java-Themen 2
S Interface Klasse überladen. Allgemeine Java-Themen 2
K Inneres Interface äußere Klasse Allgemeine Java-Themen 7
T Frage zu interface und "guter Programmierstil" Allgemeine Java-Themen 4
T Interface "on-the-fly" implementieren? Allgemeine Java-Themen 3
S Frage zu Interface Allgemeine Java-Themen 7
J Objektorientiert - Interface & Klassen Allgemeine Java-Themen 3
G Interface - Klassen implementieren das - Reflection ok? Allgemeine Java-Themen 4
T "Programming against the interface" sinnvoll? Allgemeine Java-Themen 18
G Interface mehrfach implementieren Allgemeine Java-Themen 5
@ zur Laufzeit Interface aus jar implementieren? Allgemeine Java-Themen 5
A Was ist der genau Sinn eines Interface? Allgemeine Java-Themen 13
E Oberbergriff für class und interface Allgemeine Java-Themen 20
D QuickSort, Interface Allgemeine Java-Themen 2
R Interface für Arithmethik? Allgemeine Java-Themen 3
MQue Interface implementieren Allgemeine Java-Themen 7
P Liste von Klassen die ein Interface implementieren speichern Allgemeine Java-Themen 12
L Interface Frage! Allgemeine Java-Themen 25
T Instanz einer Interface abgeleiteten Klasse erzeugen Allgemeine Java-Themen 3
G nichtabstrakte Funktion zu einer Interface hinzufügen Allgemeine Java-Themen 6
minzel Java Native Interface Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben