tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
1847
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von P_H_I_L
    P_H_I_L P_H_I_L ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    214
    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
    Code :
    1
    2
    
    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.
     

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

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    \\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
     

  3. #3
    Avatar von procurve
    procurve procurve ist offline Mitglied Gold
    Registriert seit
    Aug 2007
    Beiträge
    158
    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.
     

  4. #4
    Avatar von P_H_I_L
    P_H_I_L P_H_I_L ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    214
    ja danke für die schnellen antworten ich versuche es gleich mal
     

  5. #5
    TheJadix TheJadix ist offline Mitglied Gold
    Registriert seit
    Sep 2005
    Ort
    Bremerhaven
    Beiträge
    220
    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
     
    Signatur ? ? ? So ein Humbug ! ! !

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 10.06.10, 23:16
  2. Antworten: 5
    Letzter Beitrag: 30.09.08, 16:22
  3. Static Classes bei ApplicationServer start (Tomcat) initialisieren
    Von bemar im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 18
    Letzter Beitrag: 08.11.07, 14:39
  4. Frage zu static und static const
    Von Xebov im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 12.07.05, 09:38
  5. Antworten: 8
    Letzter Beitrag: 25.05.04, 15:31