java枚举类
enum关键字用于定义枚举类,若枚举只有一个成员, 则可以作为一种单例模式的实现方式。
/*枚举类的自定义方式*/
public class TestSeason {
public static void main(String[] args){
Season spring=Season.SPRING;
System.out.println(spring);
System.out.println(spring.getSeasonName());
}
}
//枚举类
class Season{
//1.提供类的属性,声明为private final
private final String seasonName;
private final String seasonDesc;
//2.声明为final的属性,在构造器中初始化
private Season(String seasonName,String seasonDesc){
this.seasonName=seasonName;
this.seasonDesc=seasonDesc;
} public static final Season SPRING=new Season("spring","春暖花开");
public static final Season SUMMER=new Season("summer","夏日炎炎");
public static final Season AUTOMN=new Season("automn","秋高气爽");
public static final Season WINTER=new Season("winter","白雪皑皑"); //通过公共的方法来调用属性
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
@Override
public String toString() {
return "Season [seasonName=" + seasonName + ", seasonDesc="
+ seasonDesc + "]";
}
}
/*
* 一.枚举类
* 1.如何自定义枚举类
* 2.如何使用enum关键字定义枚举类
* 常用的方法;values(),valueOf(String str)
* 如何使枚举类实现接口:可以让不同的枚举类的对象调用被重写的抽象方法,执行的效果不同(相当于每个对象重写抽象方法)
* */ public class TestSeason1{
public static void main(String[] args){
SeasonEnum spring=SeasonEnum.SPRING;
System.out.println(spring);
System.out.println(spring.getSeasonName()); //1.values方法可以返回枚举类型的对象数组,可以方便遍历所有的枚举值
SeasonEnum[] seasons=SeasonEnum.values();
for(int i=0;i<seasons.length;i++){
System.out.println(seasons[i]);
}
//2.valueOf方法可以把一个字符串转为对应的枚举类对象,要求字符串必须是枚举类对象的“名字”
String str="WINTER";
SeasonEnum sea=SeasonEnum.valueOf(str);
System.out.println(sea);
//不同的枚举类对象调用重写的show方法得到不同的效果
spring.show();
sea.show(); }
}
//接口
interface Info{
public void show();
}
//实现接口的枚举类
enum SeasonEnum implements Info{
//必须在枚举类的第一行声明枚举类对象
SPRING("spring","春暖花开"){
public void show(){
System.out.println("春天在哪里");
}
},
SUMMER("summer","夏日炎炎"){
public void show(){
System.out.println("生如夏花");
}
},
AUTOMN("autumn","秋高气爽"){
public void show(){
System.out.println("金色的秋天");
}
},
WINTER("winter","白雪皑皑"){
public void show(){
System.out.println("冬天里的一把火");
}
}; private final String seasonName;
private final String seasonDesc; private SeasonEnum(String seasonName, String seasonDesc) {
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
} public String getSeasonName() {
return seasonName;
} public String getSeasonDesc() {
return seasonDesc;
}
}
java枚举类的更多相关文章
- Java枚举类在生产环境中的使用方式
前言 Java枚举在项目中使用非常普遍,许多人在做项目时,一定会遇到要维护某些业务场景状态的时候,往往会定义一个常量类,然后添加业务场景相关的状态常量.但实际上,生产环境的项目中业务状态的定义大部 ...
- Java 枚举类
如果要定义一个枚举类: public enum Size { SAMLL, MEDIUM, LARGE, EXTRA, EXTRA_LARGE}; 实际上,这个声明定义的类型是一个类,它刚好有4个实例 ...
- java 枚举类 enum 总结
枚举定义: enum是计算机编程语言中的一种数据类型.枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内.例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等.如果把这些量 ...
- java 枚举类小结 Enum
好久没有接触枚举类了,差不多都忘了,今天抽出个时间总结一下吧.说实话,枚举类确实能够给我们带来很大的方便. 说明:枚举类它约定了一个范围,可以理解成只可以生成固定的几个对象让外界去调用,故枚举类中的构 ...
- 【JAVA】浅谈java枚举类
一.什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便? 二.为什么不用静态常量来替代枚举类呢? public static final int SEASO ...
- Java枚举类enum
枚举类enum是JDK1.5引入的,之前都是用public static final int enum_value来代替枚举类的.枚举类enum是一种特殊的类,它默认继承了类java.lang.Enu ...
- java枚举类(enum) 基础知识讲解
枚举类是在java 5后新增的,可以用于封装常量,并且还可以为常量的使用提供一些方法. 定义枚举类的语法: public enum EnumName{ 成员1(A,B...),成员2(A,B...), ...
- Java枚举类使用
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...
- Java 枚举类详解
1. 枚举类定义 在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象,这种实例有限而且固定的类,在Java里被称为枚举类. 2. 早期实现枚举的方式 public static f ...
随机推荐
- [转]c++面向对象基础
from: here 1. C++面向对象程序设计的重要概念 早期革命影片里有这样一个角色,他说:“我是党代表,我代表党,我就是党.”后来他给同志们带来了灾难. 会用C++的程序员一定懂得面向对象程序 ...
- Gitweb 安装与配置
gitweb 可以通过搭建git服务器将代码保存在git服务器上,多个开发者可以从服务器上clone代码,也可以各自维护一份本地代码,在本地更新之后可以提交到git服务器上,提高开发效率. g ...
- Android SQlite详解
在项目开发中,我们或多或少都会用到数据库.在Android中,我们一般使用SQLite,因为Android在android.database.sqlite包封装了很多SQLite操作的API.我自己写 ...
- 《云中歌》孟石头泡妞大法独家放送,单身汪get起来!!
谁说古代文人雅士只会诗词歌赋.琴棋书画?作为“玉中之王”的公子哥——孟石头泡妞可是个中高手,总结起来都能出一本“泡妞宝典”了,单身的乃们还不赶紧学起来! 第一步:假装自来熟相识,马上开启约会模式 看到 ...
- eclipse 中发布 maven 项目到 tomcat
第一步:在 eclipse 中 右键 你的项目 Run as --> Maven build...--> Goals: 输入 install run 第二步:在 eclipse 中 ...
- wordpress内存不足问题“Fatal error:out of memoryin etc...”
2016年3月22日wordpress用户名及密码登录,出现: “ Fatal error: Out of memory (allocated 19136512) (tried to allocate ...
- 《javascript高级程序设计》 第24章 最佳实践 Best Practices
24.1 可维护性 Maintainability24.1.1 什么是可维护的代码 What Is Maintainable Code?24.1.2 代码约定 Code Conventions 24. ...
- ubuntu安装SCrapy
依次安装 sudo apt-get install build-essential; sudo apt-get install python-dev; sudo apt-get install lib ...
- Java线程(二):线程同步synchronized和volatile
上篇通过一个简单的例子说明了线程安全与不安全,在例子中不安全的情况下输出的结果恰好是逐个递增的(其实是巧合,多运行几次,会产生不同的输出结果),为什么会产生这样的结果呢,因为建立的Count对象是线程 ...
- (24)odoo中模型标识汇总
* 设置->技术->数据结构->模型 模型 模型描述 类型 瞬态模型account.account 科目 基础对象 ...