2010-12-22 13 views
0

Neu in Java und haben eine Frage zu Paketen.Verwendung von Nested Enum als Parameter im separaten Paket

Ich mag Objekte in Namespaces organisiert und lief auf ein Problem mit Enums, die ich nicht herausfinden kann.

sagen, dass ich eine verschachtelte Enum wie diese:

package Project; 
public class Foo 
{ 
    public enum Bar { One, Two, Three }; 
} 

ich so etwas wie diese

package Project.Attributes; 
public class Foo 
{ 
    public setBar(Project.Foo.Bar bar) {} 
} 

Aber ich bin immer Namenskonflikte und unbekanntes Paket ‚Foo‘ Fehler machen will.

Wie kann ich das erreichen?

+0

für den Rekord - Ihr Code oben kompiliert immer noch nicht. Das nächste Mal bieten echte Beispiele, vor allem, wenn die Frage über Kompilierungsfehler ist. – Bozho

Antwort

3

Es sollte

nach unten korrigiert arbeiten
  1. Semikolon nach der Paketdeklaration
  2. hinzufügen Rückgabetyp void für setBar (...) Methode

One mehr Vorschlag ist, kleinen Fall für Paketnamen zu verwenden.

package project; 

public class Foo 
{ 
    public enum Bar { 
     One, Two, Three 
    }; 
} 


package project.attributes; 

public class Foo 
{ 
    public void setBar(project.Foo.Bar bar) 
    { 
    } 
} 
+0

Danke für die Korrekturen, ich habe gerade versucht mit javac, um es zu kompilieren und es hat gut funktioniert. Ich denke, Netbeans ist einfach falsch konfiguriert und weiß nicht, wie man die Ordnerstrukturen erkennt oder so. – Charles

2

Sie müssen ein Semikolon am Ende der ersten Zeile haben. Und verwenden Sie Kleinbuchstaben für Paketnamen

+0

na ja, das ist nicht gerade ein funktionierendes Beispiel, nur ein kurzer Überblick über mein wirkliches Projekt. Müssen die Paketnamen wirklich Kleinbuchstaben sein? – Charles

+0

@charles geben echten Code. Dieser kompiliert nicht – Bozho

Verwandte Themen