package java1;
/**
* @author 高槐玉
* #Description:
* 枚举类的使用
* 1,枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类
* 2.当需要定义一姐常量时,强烈建议使用枚举类
* 3.如果枚举类中只有一个对像,则可以作为单例模式的实现方式。
* 二、如何定义枚举类
* 方式-:jdk5.0之前,自定义枚举类
* 方式二:jdk5,0,可以使用enum关键字定义枚举类
* #Date: 2022/10/12/20点55分
* #Shangguigu:497集
*/
class Enumerate{
//声明Season对象的属性:private final修饰
private final String Name;
private final String Desc; //私有化类的构造器,并给对象属性赋值
private Enumerate(String name,String desc){
this.Name = name;
this.Desc = desc;
} //提供当前枚举类的多个对象:public static final的
public static final Enumerate SPRING = new Enumerate("春天","万物复苏");
public final static Enumerate AUTUMN = new Enumerate("秋天","秋高气爽");
public static Enumerate SUMMER = new Enumerate("夏天","烈日炎炎");
public final static Enumerate WINTER = new Enumerate("冬天","银装素裹"); //其他诉求,获取枚举类对象的属性
public String getName() {
return Name;
} public String getDesc() {
return Desc;
}
//没有final修饰就可以改
public static Enumerate getSUMMER() {
return SUMMER;
} //重写toString方法才可以显示出来,不然打印的就是地址值
public String toString(){
return "季节:" + Name + ",特征:" + Desc;
}
}
public class SeasonTest {
public static void main(String[] args) {
System.out.println(Enumerate.SPRING);
System.out.println(Enumerate.AUTUMN);
System.out.println(Enumerate.SUMMER);
System.out.println(Enumerate.WINTER);
}
}

这是JDK5.0的自定义枚举类,下面列举JDK8的新的枚举类

package java1;
/**
* @author 高槐玉
* #Description 使用enum关键字定义枚举类,说明:定义的枚举类默认继承于java.lang.Enum类
* #Date: 2022/10/12/21点30分
* #Shangguigu:500集
*/ public class SeasonTest2 {
public static void main(String[] args) {
Season2 s2 = Season2.AUTOMN;
System.out.println(s2);
System.out.println(Season2.class.getSuperclass());
}
}
//使用enum关键字定义枚举类
enum Season2{
//提供当前枚举类的对象,多个对象之间用","隔开,末尾对象用";"结束
SPRING("春天!","春暖花开!"),
SOMMER("夏天!","酷暑难耐!"),
AUTOMN("秋天!","晚装红遍!"),
WINTER("冬天!","白雪皑皑!");
//声明Season对象的属性:private final修饰
private final String Name;
private final String Desc; //私有化类的构造器,并给对象属性赋值
private Season2(String name,String desc){
this.Name = name;
this.Desc = desc;
} public String toString(){
return "季节:" + Name + ",特征:" + Desc;
} }

最新文章

  1. Java:泛型基础
  2. Android-做个性化的进度条
  3. pip和requests模块的安装
  4. Chapter 2: Design the user experience
  5. 为WordPress某个文章添加额外的样式
  6. 【转】appium_python_API文档
  7. 为Fitnesse-20140630定制RestFixture代码
  8. mysql 查看死锁和去除死锁
  9. android怎么输出信息到logcat
  10. apache中 sed 指定文件中某字符串增加行
  11. 『TensorFlow』函数查询列表_张量属性调整
  12. mysql之Navicat工具、pymysql模块
  13. M1/M2项目阶段总结
  14. three.js学习:点光源+动画的实现
  15. 发送邮件【文本-html】【图片】【邮件】【附件】
  16. Debuggex – 超好用的正则表达式可视化调试工具
  17. python3获取指定目录内容的详细信息
  18. JAVA内存模型及垃圾回收自我总结
  19. linux机器之间拷贝和同步文件命令
  20. lnmp一键安装环境添加redis扩展及作为mysql的缓存

热门文章

  1. 学习ASP.NET Core Blazor编程系列二十六——登录(5)
  2. python爬虫学习——文件操作,异常处理
  3. 机器学习-集成学习LightGBM
  4. LG P1919
  5. AcWing 141 周期
  6. DIV 阴影
  7. WPF ScrollViewer 没有效果
  8. sys.argv的用法
  9. Idea External Libraries 没有导入依赖
  10. getUserInfo和getUserProfile被废弃