Hallo zusammen,
kann ich eine Klasse als statisch definieren? Was bringt das und wann brauche ich das?
oder definiere ich nur alle Methoden und Konstruktoren statisch?
Danke
Herbert
Hallo zusammen,
kann ich eine Klasse als statisch definieren? Was bringt das und wann brauche ich das?
oder definiere ich nur alle Methoden und Konstruktoren statisch?
Danke
Herbert
Java Tutorial, anyone? Das auf der Sunseite ist recht gut, wobei ich nicht genau weiß, wo man das jetzt findet, so Oracle das übernommen hat.
Methoden einer statischen Klasse kann man auch aufrufen wenn eine Klasse nicht instanziiert wurde.
zB die Klasse Mathe
int a=Mathe.Addition(3,7)
liefert das Ergebnis 10
man muss nicht erst
Mathe b = new Mathe() machen um Mathe nutzen zu können. Klassen /Methoden die Zustandsunabhängig funktionieren können statisch geamcht werden. Dies kann ggf. Arbeitsspeicher sparen und hat auch noch andere Vorteile.
Hi
danke
ich meinte ob und wann es geht zu sagen
static public class Klasse
{
}
und wann das Sinn macht und was es bringt.
Ich verstehe es soweit, dass es nur in inner Klassen geht und dort nur bei Member Klassen, nicht aber bei anonymen.
Oder so.
Grüsse
Herbert
Ja, das geht nur mit inneren Klassen.
Annahme: Du hast eine Klasse Outer mit einer inneren Klasse Inner.
Ist Inner nicht statisch, musst du es so schreiben:
Outer o = new Outer();
Outer.Inner i = new o.Inner(); // Nicht mehr ganz sicher, ob das so 100% korrekte Syntax ist
Du benötigst also eine Instanz von Outer, um auf Inner zuzugreifen.
Ist Inner dagegen statisch, geht es so:
Outer.Inner i = new Outer.Inner();
Du benötigst keine Instanz von Outer.
Grüße, JasonDelife.