枚举

来源:互联网 发布:小米有淘宝店吗 编辑:程序博客网 时间:2024/06/07 00:18

枚举:枚举是一个特殊的类,通过对象访问成员,它中的对象是有限的。所以构造方法是私有方法,每个对象都是通过对象名字来访问,于是他的对象用static修饰。注意的是:枚举的个数是有限的,例如星期的天数,只有从星期一到星期天。所以枚举的使用范围就是固定的对象个数,通过对象名称来访问的特殊类。

例如:


class dayDemo{//该类只有三个对象星期一、星期六、星期三  访问通过对象名称访问      ==这就是枚举  固定的对象个数,对象是静态的//创建对象public static dayDemo Mon = new dayDemo();//星期一public static dayDemo Sat = new dayDemo();//星期六public static dayDemo Son = new dayDemo();//星期日private dayDemo(){//私有的构造方法。因为在外部不能无限制的创建对象,只能在类中创建对象}}

枚举使用:(星期一到星期日为例)


enum day{//==============每次调用一个枚举都会创建七次对象  查看构造方法的输出//每个都是对象,省略括号。在括号中能设置相应的数据Monday("星期一"),Tuesday("星期二"),Wenesday("星期三"),Thursday("星期四"),Friday("星期五"),Satuesday("星期六"),Sunday("星期日");private String name;private day(){System.out.println(name);}//构造方法private day(String name){this.name = name;}//在其他的类中通过调用 ,星期一到星期日都有该方法。day.Friday.getName("小名");使用该方法public String getName(String name) {return "你("+name+")还是原来的你";}@Overridepublic String toString() {return this.name;}}

对象后面的括号表示构造函数的参数,大括号表示要实现的方法

例如:

public class Test {public static void main(String[] args) {System.out.println(day.monday.getName());}}enum day{monday("dd"){public String getName(){ return "星期一"+super.getName();}},satuday("ss"){public String getName(){ return "星期二"+super.getName();}};public String name;private day(String name){this.name = name;}//每个枚举都能够使用该方法public String getName(){return name;}}



原创粉丝点击