同一个文件中有多个java类

时间:2012-09-25 20:38:19

标签: 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) )建议使用“public”,但当你使用它时,我得到一个错误,表明该类需要自己的文件。

我用Visual Studio c#.net做这个。它可以用Java完成,或者我必须将子类放入主类中。

感谢。

3 个答案:

答案 0 :(得分:3)

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

因此,您只能公开enums个公开信息,并且您的文件名应该是public enum扩展名为.java的名称。

  • 您的public static void main也会进入public class

  • 此外,**这很重要 - 如果在文件中您拥有enumsclassesinterfaces所有这些,那么其中只有一个会是public

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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