java中枚举类型错误,谁能告诉我怎么回事啊

package xin;

public class TestEnum {

/**
* @param args
*/
public static void main(String[] args) {
private enum person {a,b,c};
// TODO Auto-generated method stub

}

}
错误提示:The member enum person cannot be local。这是怎么回事??

第1个回答  2011-06-10
private属性是对类的成员进行修饰的,在函数(类的方法)里不能用private或者public或者protected对变量进行修饰,所以如果person枚举是类的成员(也就是楼上说的放在函数外面的那种)就可以用private,如果是放在函数里面的,则是函数里定义的变量,就不能用private了~~~~~
第2个回答  2011-06-10
public class TestEnum {
private enum person {a,b,c}
public static void main(String[] args) {
  for (person p:person.values()) {
   System.out.println(p);
}
}
}
把enum拿出来就行了。本回答被提问者采纳
第3个回答  2011-06-10
不要在函数里面声明这个枚举.把那一行移到函数外面 类里面
相似回答