# extends / implements / static, bedeutung ??



## Neral (8. Feb 2004)

kann mir jemand vieleicht die genau Bedeutung von extends / implements und static sagen?
also wann muss ich was setzten ? was bewirken sie ? verstehe von extends und implements den unterschied nicht so ganz.

Gruß Neral


----------



## AlArenal (8. Feb 2004)

http://www.galileocomputing.de/open...xxxJava060003256StatischeMethodenundVariablen

http://www.galileocomputing.de/openbook/javainsel3/javainsel_060006.htm#RxxxJava060006256Vererbung

http://www.galileocomputing.de/open...el_060011.htm#RxxxJava060011256Schnittstellen


----------



## Campino (8. Feb 2004)

Neral hat gesagt.:
			
		

> also wann muss ich was setzten ? was bewirken sie ? verstehe von extends und implements den unterschied nicht so ganz.




Implements:Implements: implemiert *Interfaces*
warum der wohl implements heißt :wink:

extends: sorgt dafür das die Class die damit deklaiert wird, die Methoden der extends-*Class* enthält
die angabe mehrerer Classes ist nicht möglich

static: so deklaierte Methoden sind auch ohne eine Instance der Class erhältlich

Ich hoffe du verstehst dass...


----------



## AlArenal (8. Feb 2004)

implementiert


----------



## Neral (10. Feb 2004)

hm.. also aber ich kann doch auch methoden einer klasse verwenden wenn ich ein objekt erstelle oder nicht ? warum sollte ich dann extends waehlen ?

Instance <-- was bedeutet das ?

und wann genau muss ich implements waehlen? und was genau meinst du mit interface ?

also mein problem besteht da, dass ich nicht richtig zuordnen kann wann ich zB eine neue klasse schreiben soll oder die oben verwendetetn woerter benutzen soll   aber schonmal danke fuer eure hilfe  :lol:


----------



## me.toString (10. Feb 2004)

Warum nimmst du dir nicht einfach mal ein Java-Anfänger-Buch zur Hand und liest dir das durch ? Warum sollen wir dir hier ALLES erkären, wenn das andere schon viel besser gemacht haben - wir helfen hier ja gerne anderen (jeder hat ja mal klein angefangen) ... aber ein wenig Eigeninitiative wird hier schon vorausgesetzt ... d.h. das man sich selbst schon ein wenig damit beschäftigt hat (z.B. ein Anfängerbuch lesen).


----------



## Neral (10. Feb 2004)

jo das hab ich doch schon gemacht nur hat speziell diese drei sachen bereife ich noch nicht so ganz. also deswegen frage ich hier und hole mir soviel rat wie moeglich ein. wozu gibt es denn solche foren  ?!, na um leuten die was nicht verstanden haben zu helfen 
aber anstatt irgendwelchen  tipps :### zugeben koenntest du es mir doch kurz erleutern oder nicht ? soviel ist das doch sicher nicht oder ?

Gruss Neral


----------



## bygones (10. Feb 2004)

Ntürlich können wir Tipps geben - doch musst du auch einsehen, dass es dazu Bücher gibt auf denen auf mehreren Seite diese Bereiche diskutieret werden - und das wird hier keiner machen....

Warum extends:
Du scheibst z.b. einen Anwendung, also ein Fenster in dem der user was eingeben kann. Du könntest dir die Mühe machen alles selbst zu schreiben - oder du siehst, dass es sowas schon gibt (z.B. JFrame). Da dein Frame aber noch mehr machen soll, als einfach ein kleines Fenster zu sein (also spezielle Komponente haben usw.) schreibst du eine eigene Klasse, die von JFrame erbt --> sie hat eigenes Verhalten + das komplette Verhalten von JFrame...

Warum implements:
Du willst z.B. deinen Objekte sortieren lassen. Dazu gibt es z.b. die Klasse TreeSet. Die speichert deine Objekte sortiert in einer Liste. Nur woher weiß TreeSet, wie es deine Objekt sortieren soll ? Sie weiß es nicht - muss es aber gar nicht wissen, sie weiß nur, dass deine Objekte das Interface "Comparable" implementieren, d.h. sie besitzen die methode compareTo, die einem sagt, ob das aktuelle Objekt größer, kleiner oder gleich einem anderen Objekt ist. D.h. TreeSet ist egal wie du die Method implementiert hast, es weiß nur es gibt diese Schnittstelle, also kann es sortieren.

Das sind nur zwei Beispiele. Vererbung ist in java essentiell (hierbei erweiterst du das Verhalten bzw. die Eigenschaften deiners Objekts um die der Superklasse), ebenso die Nutzung von Schnittstellen (Interfaces - also nach dem Motto - ich weiß nicht wie du die spezielle Methode implementierst (daher auch implements) - ich weiß nur, dass du sie hast, also kann ich sie nutzen) - und stehen wirklich gut in versch. Büchern (GotoJava / Java ist auch nur eine Insel usw)....


----------



## Neral (10. Feb 2004)

ja also klar steht das in den buechern und ich verstehe auch das hier keiner ueber "kinderkram" seitenlang texten will  nur vieleicht habe ich mich falsch ausgedrueckt. also um auf dein beispiel zurueck zu kommen, könnte ich nicht zB 

extends Comparable implements JFrame ?


----------



## bygones (10. Feb 2004)

Neral hat gesagt.:
			
		

> extends Comparable implements JFrame ?



genau anders rum - Comparable ist ein Interface und JFrame einen "normale" Klasse

--> public class MyClass extends JFrame implements Comparable


----------



## Nobody (10. Feb 2004)

wenn nichts angegeben wird, wird von Object geerbt


----------



## bygones (10. Feb 2004)

Nobody hat gesagt.:
			
		

> wenn nichts angegeben wird, wird von Object geerbt


Auch wenn was angegeben wird, "erbt" die Klasse von Object - da ja die Superklasse entweder direkt von Object erbt oder über einen Pfad von Superklassen von Object erbt !!!


----------



## Nobody (11. Feb 2004)

das schon, aber das ist irgendwie dadurch logisch. wollts nur mal zur vollständigkeit angeben


----------

