2010-12-22 68 views
0

刚接触java并且有与包有关的问题。在嵌套包中使用嵌套枚举作为参数

我喜欢把对象组织在命名空间中,并遇到了一个我无法弄清楚的枚举问题。

说我有一个嵌套的枚举是这样的:

package Project; 
public class Foo 
{ 
    public enum Bar { One, Two, Three }; 
} 

我想要做这样的事情

package Project.Attributes; 
public class Foo 
{ 
    public setBar(Project.Foo.Bar bar) {} 
} 

但我得到的名称冲突和未知的包“富”的错误。

我该如何做到这一点?

+0

记录 - 上面的代码仍然不能编译。下一次提供真实的例子,特别是当问题是关于编译错误的时候。 – Bozho 2010-12-22 23:18:20

回答

3

应该包声明后,下面的更正后的工作

  1. 分号
  2. 加void返回类型setBar(...)方法

一更多的建议是使用小包装来命名包装。

package project; 

public class Foo 
{ 
    public enum Bar { 
     One, Two, Three 
    }; 
} 


package project.attributes; 

public class Foo 
{ 
    public void setBar(project.Foo.Bar bar) 
    { 
    } 
} 
2

您需要在第一行末尾有分号。并使用小写字母包名

+0

好吧,这不完全是一个工作的例子,只是我的真实项目的快速概述。包名称是否必须小写? – Charles 2010-12-22 22:17:37

+0

@charles给出真实的代码。这一个不编译 – Bozho 2010-12-22 22:19:05