zoukankan      html  css  js  c++  java
  • java 基础(枚举类)

    1、枚举类也是一个类,也可以有属性,等等:

    public enum SeasonEnum{
    	SPRING,
    	SUMMER,
    	FALL,
    	WINTER;
    }
    

     这个是没有其他属性的。

    package com.creditharmony.adapter.testCase.test;
    
    public class EnumTest {
    	public void judge(SeasonEnum s) {
    		switch (s) {
    		case SPRING:
    			System.out.println("春天");
    			break;
    		case SUMMER:
    			System.out.println("夏天");
    			break;
    		case FALL:
    			System.out.println("秋天");
    			break;
    		case WINTER:
    			System.out.println("冬天");
    			break;
    		default:
    			break;
    		}
    	}
     
    	public static void main(String[] args) {
    		for (SeasonEnum	s : SeasonEnum.values()) {
    			System.out.println(s);
    		}
    		new EnumTest().judge(SeasonEnum.FALL);
    	}
    }
    

     进一步修改枚举代码:

    package com.creditharmony.adapter.testCase.test;
    
    public enum Gender {
    	MALE, FEMALE;
    	private String name;
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		switch (this) {
    		case MALE:
    			if ("男".equals(name)) {
    				this.name = name;
    			} else {
    				System.out.println("参数错误,name:" + name);
    				return;
    			}
    			break;
    		case FEMALE:
    			if ("女".equals(name)) {
    				this.name = name;
    			} else {
    				System.out.println("参数错误,name:" + name);
    				return;
    			}
    			break;
    		default:
    			break;
    		}
    	}
    	
    }
    

     上面的枚举中没有为各项指定初始值,而且属性可修改,其实枚举属性不应该被修改,所以应该用private final 来修饰。

    public enum Gender {
    	MALE("男"), FEMALE("女");
    	// 枚举类的构造器只能用private修饰
    	private Gender(String name){
    		this.name=name;
    	}
    	private String name;
    	public String getName() {
    		return name;
    	}
    }
    
    	public static void main(String[] args) {
    		System.out.println(Gender.FEMALE.getName());
    		 
    	}
    

     输出结果:女。

  • 相关阅读:
    03 重定向,请求转发,cookie,session
    02 http,servlet,servletconfig,HttpServletRequest ,HttpServletResponse
    02 JDBC相关
    01 mysql
    16 反射,枚举,新特性
    13 递归练习
    12 IO流
    11 异常
    兼容当前五大浏览器的渐变颜色背景gradient的写法
    Electron Browser加载iframe(webview src属性)
  • 原文地址:https://www.cnblogs.com/hoge/p/6341057.html
Copyright © 2011-2022 走看看