0

我在处理一些 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 ) 建议使用“public”,但是当你使用它时,我收到一个错误,指出该类需要自己的文件。

我曾经在 Visual Studio c#.net 中执行此操作。它可以用Java完成,还是我必须将必要的子类放入主类。

谢谢。

4

3 回答 3

3
  • 在单个 Java 文件中,您可以有at most一个public class,如果存在,那么您的 java 文件的名称应该与您的public class名称相同。

因此,您只能enums公开其中一个,并且您的文件名应该是public enum带有.java扩展名的名称。

  • 你的public static void main意志也会涉及到public class

  • 而且,**这很重要 - 如果在一个文件中你有enumsclasses并且interfaces所有这些,那么也只有其中一个是public.

于 2012-09-25T20:42:02.513 回答
1

在 Java 中,您最多可以拥有一个public类(文件名必须与该类名匹配)和任意数量的非公共类。public类一旦导入就可以在任何地方使用。非公共类只能在同一个包中使用。

这些都是规则,你无能为力。

于 2012-09-25T20:42:07.847 回答
0

在单个 java 文件中,您可以有多个类,但只能有一个公共类,公共类的名称应与文件名相同。该公共课程可以在任何地方使用

于 2018-05-04T15:57:35.773 回答