本帖最后由 李健_8 于 2012-10-5 16:02 编辑
张孝祥老师第12讲 枚举
package com.itcast.day1;
public abstract class WeekDay {
//构造方法 私有的 不允许人家new对象
private WeekDay(){}
//只允许几个变量
//这些值不是普通的基本类型的值 而是对象类型的值
public final static WeekDay SUN=new WeekDay();
public final static WeekDay MON=new WeekDay();
//方法
public WeekDay nextDay(){
if(this==SUN){
return MON;
}else{
return SUN;
}
}
public String toString(){
return this==SUN?"SUN":"MON";
}
}
public class EnumTest {
public static void main(String[] args){
WeekDay weekDay=WeekDay.SUN ;
System.out.println(weekDay.nextDay());
}
}
1.为什么 "public final static WeekDay MON=new WeekDay(); " 要用final修饰 finally修饰静态变量表示数值不可改变 但是 在这里具体有什么用处 我把final去掉 也没发现有什么不妥
2.是不是创建对象是通过构造来创建的 我以为只要new就可以了。。。
3 if(this==SUN) sun不是对象吗 。。。为何可以这样用
4 "WeekDay weekDay=WeekDay.SUN"也是创建对象吗
5 可不可以用一句简单的话说明一下 ---------枚举
|