zoukankan      html  css  js  c++  java
  • Java——枚举

    枚举类简介:

    Java5新增了一个enum关键字(它与class、interface关键字的地位相同),用以定义枚举类。枚举类也是一种特殊的类,所以也具有和类相同的变量和方法,也可以定义自己的构造器。

    枚举类入门:

    枚举类定义:

    package com.alibaba.oop;
    
    //定义了一个枚举类,
    public enum EnumTest {
    	
    	//在第一行列出4个枚举实例
    	SPRING,SUMMER,FALL,WINTER;
    
    }
    

      

    枚举类使用:

    public class TestEnum{
    	
    	public void judge(EnumTest e) {
    		
    		//switch语句里的表达式可以是枚举值
    		switch(e) {
    			case SPRING:
    				System.out.println("春暖花开");
    				break;
    			case SUMMER:
    				System.out.println("夏日炎炎");
    				break;
    			case FALL:
    				System.out.println("秋风飒飒");
    				break;
    			case WINTER:
    				System.out.println("冬日雪飘");
    				break;
    		}
    	}
    	
    	public static void main(String[] args) {
    		
    		//枚举类默认有一个value方法,返回该枚举类的所有实例
    		for(EnumTest e:EnumTest.values()) {
    			System.out.println(e);
    		}
    		
    		//使用枚举类实例时,可通过EnumClass.variable来访问
    		new TestEnum().judge(EnumTest.SPRING);
    		
    		
    	}
    
    }
    

      

    运行结果:

    SPRING
    SUMMER
    FALL
    WINTER
    春暖花开
    

      

    枚举类与普通类的区别:

    1、枚举类可以实现一个或多个接口,使用enum定义的枚举类默认继承了 java. lang Enum类,而不是默认继承 Object类,因此枚举类不能显式继承其他父类。其中 java. lang Enum类实现了java. lang Serializable和 java. lang. Comparable两个接口。

    2、使用enum定义、非抽象的枚举类默认会使用 final修饰,因此枚举类不能派生子类。

    3、枚举类的构造器只能使用 private访问控制符,如果省略了构造器的访问控制符,则默认使用private修饰;如果强制指定访问控制符,则只能指定 private修饰符。

    4、枚举类的所有实例必须在枚举类的第一行显式列出,否则这个枚举类永远都不能产生实例。列出这些实例时,系统会自动添加 public static final修饰,无须程序员显式添加。

  • 相关阅读:
    protobuf 使用
    rsync实现Linux与windows增量更新数据
    单例模式-通用写法1
    cxf RESTful service client
    IDEAspringboot项目自动生成junit测试
    Centos8配置网络NM
    Oracle终止正在执行中的存储过程
    Mysql Statement violates GTID consistency: CREATE TABLE ... SELECT.
    shell中判断变量是否存在某个集合中
    redis-ha部署
  • 原文地址:https://www.cnblogs.com/wugongzi/p/11430646.html
Copyright © 2011-2022 走看看