Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
同一文件中有多个java类_Java - Fatal编程技术网

同一文件中有多个java类

同一文件中有多个java类,java,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.val

我在一些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中完成,或者我必须将必要的子类放入主类中

谢谢。

  • 在单个Java文件中,最多可以有一个
    公共类
    ,如果存在,则Java文件的名称应与
    公共类的名称相同
    
因此,您只能将一个
enum
公开,并且您的文件名应该是扩展名为
.java
public enum
的名称

  • 您的
    publicstaticvoidmain
    也将进入该
    public类

  • 而且,**这一点很重要-如果文件中有
    枚举
    接口
    所有这些,那么也只有一个是
    公共

      • 在单个Java文件中,最多可以有一个
        公共类
        ,如果存在,则Java文件的名称应与
        公共类的名称相同
        
      因此,您只能将一个
      enum
      公开,并且您的文件名应该是扩展名为
      .java
      public enum
      的名称

      • 您的
        publicstaticvoidmain
        也将进入该
        public类

      • 而且,**这一点很重要-如果文件中有
        枚举
        接口
        所有这些,那么也只有一个是
        公共


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


      这些是规则,您对此无能为力。

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


      这些是规则,您对此无能为力。

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

      为什么不试试看,看看它是否编译了“这是我希望它工作的方式”——不幸的是,Java不想这样工作。根据您的描述,您似乎误用嵌套类来完成软件包已经提供给您的功能。您可以将它们封装在一个名为clsEnum的公共类中,并将这两类对象作为公共静态对象。我认为@user1568613混淆了术语。他没有创建一个名为“clsEnum”的类,而是创建了一个名为“clsEnum”的文件。另外,他不希望它包含两个类,他希望它包含两个枚举。我并不认为这会改变答案,但我认为这会帮助像我这样不得不读几遍的人。希望这也能帮助用户1568613。谢谢大家,现在我确信这在java中是做不到的。@kurtzbot,这正是我想要的,正如你所说,这对每个人都有帮助=)你为什么不试试,看看它是否编译了“这是我想要的工作方式”——不幸的是,Java不想这样工作。根据您的描述,似乎您使用嵌套类来完成包已经给您的内容。您可以将这些类封装在名为clsEnum的公共类中,并将这两类对象放置为公共静态。我认为@user1568613将术语混合在一起。他没有创建一个名为“clsEnum”的类,而是创建了一个名为“clsEnum”的文件。另外,他不希望它包含两个类,他希望它包含两个枚举。我并不认为这会改变答案,但我认为这会帮助像我这样不得不读几遍的人。希望这也能帮助用户1568613。谢谢大家,现在我确信这在java中是做不到的。还有@kurtzbot,这正是我想要的,正如你所说,这帮助了所有人=)