本帖最后由 wodeairenw 于 2013-3-19 18:12 编辑
- public class EnumTest
- {
- public static void main(String[] args)
- {
- WeekDay weekDay = WeekDay.MON;//这个地方如何理解,静态,调用类名.MON获得对象?
- System.out.println(weekDay.nextDay());
- }
- }
- public class WeekDay//自己规定类里面的WeekDay类型的对象,普通类模拟枚举类
- {
- private WeekDay(){}
-
- public final static WeekDay SUN = new WeekDay();//静态来修饰WeekDay SUN引用?还是理解为修饰对象,对象是在堆内存中的吧,静态在方法区。这样个代码感觉是静态修饰对象,静态是不可以修饰对象的吧。
- //如果把WeekDay换成weekday不和类名一致,为什么编译错误?那个大神能不能分析下枚举定义格式,如何理解枚举,和这个代码 在内存中时如何调用的?
-
- public final static WeekDay MON = new WeekDay();
-
- public WeekDay nextDay()
- {
- if(this == SUN)
- {
- return MON;
- }
- else
- {
- return SUN;
- }
- }
- 问题1:静态来修饰WeekDay SUN引用?还是理解为修饰对象,对象是在堆内存中的吧,静态在方法区。
- 问题2:如果把WeekDay换成weekday不和类名一致,为什么编译错误?那个大神能不能分析下枚举定义格式,要如何理解枚举,还有这个代码在内存中时如何调用的?
复制代码 |