关于java枚举类型的问题,具体请看代码。

publicclassTest{publicenumColor{red,blue,black,}publicstaticvoidpaint(Colorc){System.... public class Test {
public enum Color{
red,blue,black,
}
public static void paint(Color c) {
System.out.println("this is color"+c);
}
public static void main(String[] args) {
paint(c.red);
}

}
我的问题是,这里调用paint的时候为什么不是直接传red进去而是用Color.red?red不是Color的一个实例对象吗?
这样岂不是相当于定义一个Class person,然后产生一个实例对象p 即Person p=new Person();再然后用Person.p一样?像Person.p这样用肯定是不行的,那为什么enum就可以Color.red呢?难道是因为enum的特别?
展开
 我来答
qufulin750
2012-09-20 · TA获得超过178个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:224万
展开全部
enum可以理解为一个特殊的类, 而其元素为enum类型的公共的静态类成员, 注意是类成员, 所以你引用时用的enum的名字+.+成员的名称.
如果要用Person的话你可以这样理解:
class Person{
public static Person p1 = new Person();

public static Person p2 = new Persion();

private Person(){};

}
你在使用Person的时候, 因为其构造函数不可见, 所以你只能用Person.p1来定义和访问.
匿名用户
2012-09-20
展开全部
enum里面是常量值,值的引用要用“类名。值”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式