我有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)