欢迎来到天天文库
浏览记录
ID:62033631
大小:22.00 KB
页数:2页
时间:2021-04-15
《JAVA中的枚举类型2:高级特性.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在Java中,枚举类型本质上其实就是一个类,枚举中的常量都是该枚举类型的实例。虽然枚举类型有一些限制,比如不能再派生出子枚举类型,不能调用构造函数,不过我们仍然可以在枚举类型中定义构造函数、字段和方法,例如:Java代码1.enum Weekday { 2. SUNDAY("SUN"), 3. MONDAY(”MON”), 4. TUESDAY("TUE"), 5. WEDNESDAY("WED"), 6. THURSDAY(”THU"), 7. FRIDAY("FRI"), 8. SATURDAY(”S
2、AT"); 9. 10. private String abbr; 11. 12. public Weekday(String abbr) { 13. this.abbr = abbr; 14. } 15. 16. public getAbbreviation() { 17. return abbr; 18. } 19. 20.} enumWeekday{SUNDAY(”SUN”), MONDAY(”MON"), TUESDAY("TUE”), WEDNESDAY("WED"),TH
3、URSDAY("THU"), FRIDAY(”FRI”), SATURDAY(”SAT”); privateString abbr;public Weekday(Stringabbr){ this.abbr=abbr; } publicgetAbbreviation(){ return abbr; }} 上面的代码中,Weekday枚举有一个构造函数,这个构造函数是不能通过new语句调用的,不过可以在声明常量的时候进行调用,只要要常量后面加上括号并传递参数进去就可以了,这样不同的常量对象都有了不同的属性值,这个值存储在字段abbr中。另外这个枚举类型还定义了方
4、法,在获得了对某个常量的引用后,就可以调用它的getAbbreviation()方法。例如:Java代码1.System。out.println(Weekday。SUNDAY。getAbbreviation()); System.out。println(Weekday。SUNDAY.getAbbreviation()); 枚举类型还有一个特殊的功能,就是在声明常量的时候可以重写枚举中的方法,从而达到某种“多态"的效果,例如:Java代码1.public enum SomeEnum { 2. CONST_A, CONST_B, CONST_C { 1.
5、 public void someMethod() { 2. System。out.println("another description"); 3. } 4. }; 5. 6. public void someMethod() { 7. System.out.println(”default description"); 8. } 9.} publicenumSomeEnum { CONST_A,CONST_B, CONST_C{ public voidsomeMet
6、hod(){ System.out.println("another description”); }}; publicvoidsomeMethod(){ System。out.println(”default description");}} 通过CONST_A和CONST_B调用someMethod()方法,屏幕上会打印default description,而通过CONST_C调用someMethod()方法,则会打印another description。
此文档下载收益归作者所有