java入门 -- 枚举类型详解

package com.michael.jdk15;

/*

* jdk1.5新特性之 -- 枚举

* 使用:某些方法的接收的数据必须是固定范围内的,比如星期、性别、方向、季节等,这时候解决方案就是自定义一个类

* 然后私有化构造函数,在自定义类中构造本类的对象。

*

* 解决方法二:

* 枚举类:

* 1. 枚举类也是一个特殊的类;

* 2. 枚举值默认的修饰符是public static final

* 3. 枚举值是枚举值所属的类的数据类型。

* 4. 枚举类的构造方法修饰符默认是private

* 5. 枚举类可以定义自己的成员变量和函数;

* 6. 枚举类可以定义构造函数,但是修饰符必须是private

* 7. 枚举类可以存在抽象的方法,但是枚举值必须实现抽象的方法:

* 8. 枚举值必须要位于枚举位于枚举类的第一个值:

*

* Switch使用的数据类型:byte/char/short/int/String/枚举类型

* 注意:在case语句中的枚举值不需要声明值属于那个枚举类的

*

*/

class Gender{

String value;

String name;

private Gender sex;

private Gender(String value){

this.value = value;

}

public static final Gender man = new Gender("男");

public static final Gender woman = new Gender("女");

public String getName(){

return name;

}

public void setName(String name){

this.name = name;

}

public Gender getSex(){

return sex;

}

public void setSex(Gender sex){

this.sex = sex;

}

}

enum Sex{

man("男"){

public void run(){

System.out.println("男人在跑");

}

},woman("女"){

public void run(){

System.out.println("女人在跑");

}

};//枚举类型

//相当于:public static final Sex man = new Sex();

// public static final Sex woman = new Sex();

String value;

private Sex(String value){

this.value = value;

}

public String getValue(){

return this.value;

}

abstract public void run();

}

enum Season{

spring,summer,autumn,winter;

}

public class Demo5 {

public static void main(String[] args){

Sex sex = Sex.man;

sex.run();

sex = Sex.woman;

sex.run();

Season season = Season.spring;

switch(season){

case spring:

System.out.println("春天");

break;

case summer:

System.out.println("夏天");

break;

case autumn:

System.out.println("秋天");

break;

case winter:

System.out.println("冬天");

break;

}

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,764评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,914评论 18 139
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,908评论 0 2
  • 一、 1、请用Java写一个冒泡排序方法 【参考答案】 public static void Bubble(int...
    独云阅读 1,412评论 0 6
  • 一直以来都很少写关于爱情的文章,因为对于爱情,我经历的太少,但是今天还是想说一说。一句夏爷爷的:她嫁我,我讨她,很...
    云学科技阅读 148评论 0 0