java 类A中,通过enum中定义的枚举名Color,在类B中为什么不实例化就可以直接调用,如 B.Color 10

classA{enumColor{Red,Green,Blue};publicColorc=Color.Red;......publicmethod{............. class A{
enum Color{Red,Green,Blue};

public Color c=Color.Red;
......
public method{
..........

}
}
class B{
public A.Color mycolor;

public B(A.Color c){
this.mycolor=c;
}
}
问题就是,在A中定义的枚举Color,为什么没有经过实例化,可以直接像A中的静态变量一样引用A.Color
展开
 我来答
找红太郎的灰灰
推荐于2017-12-15 · TA获得超过285个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:188万
展开全部
enum是java1.5中新加入的东西
enum的本质 其实还是一个特殊的类 只是对象是固定的那几个
你在A中的enum定义 其实相当于一个内部类一样的东西 B肯定可以调用啊
追问
内部类调用,也需要通过实例化调用啊
追答
关键是enum本身是一个特殊的类   你可以理解成他的对象都是静态实例化好的
不信你把enum Color{Red,Green,Blue};
这个东西单独拿出来 写成
public enum{
Red,
Green,
Blue;
}
你在别的类里也可以直接以 Color.Red来调用
匿名用户
2014-12-21
展开全部
enum Color{
.......放到A的外面,不是更好吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式