• 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());
    		 
    	}
    

     输出结果:女。

  • 相关阅读:
    Linux/Unix 新手和专家教程
    恢复Ext3下被删除的文件
    如何调试bash脚本
    8个实用而有趣Bash命令提示行
    使用grep恢复被删文件内容
    一些非常有意思的杂项资源
    chmod -x chmod的N种解法
    纯文本配置还是注册表
    面向对象的Shell脚本
    你可能不知道的Shell
  • 原文地址:https://www.cnblogs.com/hoge/p/6341057.html
Copyright © 2020-2023  润新知