关于Java枚举的问题

4 java enums

我有2个文件互相交互.我想定义一个枚举以使代码更具可读性,但如果我在文件1中定义它,则文件2抱怨不知道所述枚举.如果我在文件2中定义ii,则文件1也会这样做.我也把它定义为公开的.

解决方案是在两个文件中定义枚举,但这对我来说似乎不对.它不仅是多余的,而且我担心它可能会引起一些冲突,即使类型具有相同的项目.

对此有什么看法?我做错了什么或担心太多了?

编辑

好吧,鉴于这里的评论,我找到了一个替代方案,似乎正在做我想要的,而不必创建一个新文件.我有:

档案1

class myClass1
{
    public enum MyEnum
    {
        ...
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

档案2

class myClass2
{
    public enum MyEnum
    {
        ...
    }
    ....
}
Run Code Online (Sandbox Code Playgroud)

我现在有:

档案1

enum myEnum
{
    ...
}

...

class myClass1
{
     ...
}
Run Code Online (Sandbox Code Playgroud)

档案2

class myClass2
{
     ...
}
Run Code Online (Sandbox Code Playgroud)

我不想为枚举创建另一个文件,所以这对我有用.好吧,只要它没有任何问题,我认为没有.

Edd*_*die 12

你绝对不应该在两个位置定义枚举.我建议使用公共可访问性在其自己的文件中定义枚举.然后每个人都应该没有问题访问它.但是,假设您要在两个类中的一个中定义枚举,我将继续......

您必须import使用枚举或使用其完全限定名称.假设你在包中com.stackoverflow,你的类应该在第一个文件中看起来像这样:

package com.stackoverflow;

public class A {
    public enum MyEnum {
      ONE,TWO,THREE;
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

在另一个文件中:

package com.stackoverflow;

import com.stackoverflow.A.MyEnum;

public class B {

  public void test(MyEnum mine) {
    ...
  }

  ...
}
Run Code Online (Sandbox Code Playgroud)