如何在Java中自定义一个枚举类

  介绍

本文章向大家介绍如何在Java中自定义一个枚举类的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Java的特点有哪些

Java的特点有哪些   1. java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。   2. java具有简单性,面向对象,分布式、安全性,平台独立与可移植性,动态性等特点。   3 .使用Java可以编写桌面应用程序,网络应用程序,分布式系统和嵌入式系统应用程序等。

1。枚举类

注:

JDK1.5之前需要自定义枚举类

JDK 1.5新增的enum关键字用于定义枚举类

若枚举只有一个成员,则可以作为一种单例模式的实现方式

1。枚举类的属性

1枚举类对象的属性不应允许被改动,所以应该使用私人最终修饰

2枚举类的使用私人最终修饰的属性应该在构造器中为其赋值

3,若枚举类显式的定义了带参数的构造器,则在列出枚举值时也必须对应的传入参数

2。自定义枚举类

如何自定义枚举类的方法写在注释里

//自定义枚举类   class  Season  {//1。提供类的属性,声明为private 决赛   ,private  final  String  seasonName;   ,private  final  String  seasonDesc;//2。声明为最终的属性,在构造器中初始化   ,private 季节(String  seasonName String  seasonDesc), {=,,this.seasonName  seasonName;=,,this.seasonDesc  seasonDesc;   ,}//3。通过公共的方法来调用属性   ,public  final  String  getSeasonName (), {   ,return  seasonName;   ,}   ,public  final  String  getSeasonDesc (), {   ,return  seasonDesc;   ,}//4。创建枚举类的对象:将类的对象声明为public  static 决赛   ,public  static  final  Season  SPRING =, new 季节(“春天“,,“春暖花开“);   ,public  static  final  Season  SUMMER =, new 季节(“夏天“,,“夏日炎炎“);   ,public  static  final  Season  FALL =, new 季节(“秋天“,,“硕果累累“);   ,public  static  final  Season  WINTER =, new 季节(“冬天“,,“白雪皑皑“);   ,,   ,@Override   ,public  String  toString (), {   ,return “Season  [seasonName=? +, seasonName  +,,,, seasonDesc=? +, seasonDesc  +,“]”;   ,}   ,public  void 显示(),{   ,System.out.println(“这个一个季节“);   ,}   }测试

public  static  void  main (String [], args), {   ,Season  spring =, Season.SPRING;   ,System.out.println(春季);   ,spring.show ();   ,System.out.println (spring.getSeasonName (), +“,“+ spring.getSeasonDesc ());   ,}   }

3。Enum枚举类

1,必须在枚举类的第一行声明枚举类对象。

2枚举类和普通类的区别:

①使用枚举定义的枚举类默认继承了. lang。Enum类

②枚举类的构造器只能使用私人访问控制符

③枚举类的所有实例必须在枚举类中显式列出(,分隔;结尾)。列出的实例系统会自动添加公共静态最终修饰

3, JDK 1.5中可以在开关表达式中使用枚举定义的枚举类的对象作为表达式、案例子句可以直接使用枚举值的名字,无需添加枚举类作为限定

4,圆顶

interface 信息{   ,void 显示();   }//枚举类   {enum  Season1  implements 信息   ,弹簧(“春天“,,“春暖花开“){   ,public  void 显示(),{   ,System.out.println(“春天在哪里?“);   ,}   },   夏天,(“夏天“,,“夏日炎炎“)   ,{   ,public  void 显示(),{   System.out.println才能(“生如夏花”);   ,}   ,},   ,AUTUTO(“秋天“,,“硕果累累“)   ,{   ,public  void 显示(),{   System.out.println才能(“秋天是用来分手的季节“);   ,}   },   ,冬季(“冬天“,,“白雪皑皑“)   ,{   ,public  void 显示(),{   System.out.println才能(“冬天里的一把火”);   ,}   ,};   ,//1。提供类的属性,声明为private 决赛   ,private  final  String  seasonName;   ,private  final  String  seasonDesc;//2。声明为最终的属性,在构造器中初始化   ,private  Season1 (String  seasonName String  seasonDesc), {=,,this.seasonName  seasonName;=,,this.seasonDesc  seasonDesc;   ,}//3。通过公共的方法来调用属性   ,public  final  String  getSeasonName (), {   ,return  seasonName;   ,}   ,public  final  String  getSeasonDesc (), {   ,return  seasonDesc;   ,}   ,   ,@Override   ,public  String  toString (), {   ,return “Season  [seasonName=? +, seasonName  +,,,, seasonDesc=? +, seasonDesc  +,“]”;   ,}//,public  void 显示(),{//,System.out.println(“这个一个季节“);//,}   }

如何在Java中自定义一个枚举类