我有2个文件互相交互.我想定义一个枚举以使代码更具可读性,但如果我在文件1中定义它,则文件2抱怨不知道所述枚举.如果我在文件2中定义ii,则文件1也会这样做.我也把它定义为公开的.
解决方案是在两个文件中定义枚举,但这对我来说似乎不对.它不仅是多余的,而且我担心它可能会引起一些冲突,即使类型具有相同的项目.
对此有什么看法?我做错了什么或担心太多了?
编辑
好吧,鉴于这里的评论,我找到了一个替代方案,似乎正在做我想要的,而不必创建一个新文件.我有:
档案1
class myClass1 { public enum MyEnum { ... } ... }
档案2
class myClass2 { public enum MyEnum { ... } .... }
我现在有:
档案1
enum myEnum { ... } ... class myClass1 { ... }
档案2
class myClass2 { ... }
我不想为枚举创建另一个文件,所以这对我有用.好吧,只要它没有任何问题,我认为没有.
你绝对不应该在两个位置定义枚举.我建议使用公共可访问性在其自己的文件中定义枚举.然后每个人都应该没有问题访问它.但是,假设您要在两个类中的一个中定义枚举,我将继续......
您必须import
使用枚举或使用其完全限定名称.假设你在包中com.stackoverflow
,你的类应该在第一个文件中看起来像这样:
package com.stackoverflow; public class A { public enum MyEnum { ONE,TWO,THREE; } ... }
在另一个文件中:
package com.stackoverflow; import com.stackoverflow.A.MyEnum; public class B { public void test(MyEnum mine) { ... } ... }