# wie behebe ich den Fehler: inner classes cannot have static declarations



## P_H_I_L (29. Februar 2008)

Hallo Zusammen, 
erhalte andauernd die Meldung "inner classes cannot have static declarations"
Ich selbst benutze java Studio Creator und habe diese klasse in meine Session Bean kopiert. In der Klasse sind fast alle alle Funktionen "static"!! 
z.B 
	
	
	



```
private static void replace_xml_konform(Element text_element, HashMap hmMarken, Namespace text_namespace)
    {
```

Die klasse hat mein Kollege, der schon nciht mehr bei uns arbeitet mal in eclipse geschrieben. Meine Aufgabe ist es jetzt die Klasse in mein Projekt einzubeziehen. doch alle Funktionen werden unterringelt und diese meldung wird angegeben.
Wenn ich überall das static wegmache, gehen andere code stellen nicht mehr, da diese Static-decklarationen erwarten. Bin absoluter Anfänger und weiß nicht was ich tun soll.
warum hat mein kollege mit static gearbeitet innherhalt einer klasse und bei mir gehts nicht?

please help me.


----------



## MeinerEiner_80 (29. Februar 2008)

Moin!
Innere Klassen können nunmal nicht statische Methoden oder Klassenvariablen besitzen.
Es sei denn, die innere Klasse selbst ist ebenfalls als statisch deklariert..


```
\\klappt nicht
public class A {
    
    public class B{
        public static int t = 5;
        public static void test(){
            
        }
    }
}

\\das geht
public class A {
    
    public static class B{
        public static int t = 5;
        public static void test(){
            
        }
    }
}
```

*grüssle*
MeinerEiner


----------



## procurve (29. Februar 2008)

Du kannst die Klasse auch einfach in eine separate Datei kopieren und dann über import in dein Projekt einbinden.

Innere Klassen empfinde ich eh als potthässlich und schlechten Programmierstil.


----------



## P_H_I_L (29. Februar 2008)

ja danke für die schnellen antworten ich versuche es gleich mal


----------



## TheJadix (29. Februar 2008)

Hallo,

  0,33 Sympathiepunkte für procurve :



> Innere Klassen empfinde ich eh als potthässlich und schlechten Programmierstil.



Nur 0,33 weil, Achtung ich zitiere einen Werbeslogan :



> BETON, es kommt drauf an was man draus macht !



und so mancher Betonkopf meint man könne eine Java-Anwendung quasi
in eine Klasse stopfen, wenn man nur genug innere Klassen ineinander
verschachtelt ! Was dann unter :



> potthässlich und schlechten Programmierstil



fällt und garantiert zu unleserlichen, schlecht wartbaren Code führt !

Auf der anderen Seite lassen sich triviale Einzeiler z.B. für GUI-Listener
oder Hilfsobjekte zur Datenkapselung wunderbar mit inneren Klassen
realisieren.

... es kommt halt drauf an was man draus macht  !

Gruß JAdix


----------

