2012-09-25 78 views
0

多個Java類:在我有一些Java代碼的麻煩相同的文件

我創建了一個名爲clsEnum類的,我希望它不僅包含一類。

enum EnumDocument 
{ 
    DNI(1), RUC(5), Grupo(7),Sucursal(8); 

    private int value; 

    EnumDocument(int value){ 
     this.value = value; 
    } 

    public int getValue(){ 
     return this.value; 
    } 
} 

enum EnumTypeRoleCredential 
{ 
    Employee(81), Client(82), Supplier(83); 
    private int value; 

    EnumTypeRoleCredential(int value){ 
     this.value = value; 
    } 

    public int getValue(){ 
     return this.value; 
    } 
} 

是的我知道,我忘了把主類(clsEnum),但在這種情況下,我不想說。這是我希望它工作的方式。所以,當我創建一個enumDocument對象或一個EnumTypeRoleCredential對象時,在一個類中,我在同一個包中,我沒有任何問題,但是當我在另一個包中創建一個對象時,IDE(Eclipse juno )建議使用「公共」,但是當使用它時,我得到一個錯誤,說該類需要自己的文件。

我用它來完成Visual Studio c#.net。它可以在Java中完成,或者我必須將必要的子類放入主類。

謝謝。

+2

爲什麼你不試試看看它是否編譯 –

+1

「這是我希望它工作的方式」 - 不幸的是,Java不希望以這種方式工作。根據你的描述,你似乎在濫用嵌套類來做軟件包已經給你的東西。 – parsifal

+0

你可以把它們放入一個名爲clsEnum的公共類中,並將這兩類對象設置爲公共靜態。 –

回答

3
  • 在一個Java文件,你可以有一個​​public class,如果它存在,那麼你的java文件的名稱應爲您的public class名稱相同..

所以,你可以讓你的唯一公共enums之一,你的文件名應該是public enum.java擴展名..

  • 和你public static void main也將進入該public class

  • 而且還**,這一點很重要 - 如果在一個文件中,您有enumsclassesinterfaces所有的人,那麼也只是其中之一將是public

1

在Java中,你最多隻能有一個public類和非公共類的任意數(文件名必須這個類名稱匹配)。 public類可以在導入後隨處使用。非公開課只能用在同一個包中。

這些是規則,你無能爲力。