zoukankan      html  css  js  c++  java
  • java枚举类型

    public enum Color{
      RED,BLUE,BLACK,YELLOWGREEN
    }
      1.enum很像特殊的class,实际上enum声明定义的类型就是一个类
      2.这些类都是类库中Enum类的子类(java.lang.Enum<E>),它们继承了Enum中许多有用的方法
    ~ 枚举值都是public static final的,也就是常量,因此枚举类中的枚举值都应全部大写
    ~ 枚举类型是class,在枚举类型中有构造器,方法和字段.
    ~ 但枚举的构造器有很大的不同:
      1.构造器只能在构造枚举值的时候被调用
      2.构造器私有private,不允许有public构造器
    ~ 枚举可以在switch语句中使用

    public class EnumDemo {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		System.out.println(Color.BLUE);
    		Color[] colors = Color.values();
    		for(Color c:colors) {//另一种for循环格式:从枚举类型对象colors中依次赋给c
    			System.out.println(c);
    		}
    		
    		Person[] person = Person.values();
    		for(Person p:person) {
    			System.out.println(p);
    		}
    		
    		//***********switch用法****************
    		Person a = Person.p3;
    		switch(a){
    			case p1:
    				System.out.println(Person.p1);
    				break;
    			case p2:
    				System.out.println(Person.p2);
    				break;
    			case p3:
    				System.out.println(Person.p3);
    				break;
    				
    		}
    	}
    
    }
    //当jvm去加载使用枚举类的时候,会预先创建多个枚举类型的对象供外界调用
    //public static final Color RED = new Color();
    //public static final Color BLUE = new Color();
    //public static final Color YELLOW = new Color();
    enum Color{
    	REA,BLUE,YELLOW;//枚举类型的值必须作为第一条语句出现
    	private Color(){//构造方法
    		System.out.println("构造方法");//有几个枚举值调用几次
    	}
    }
    
    //public static final Person p1 = new Person("张三",26);
    //public static final Person p2 = new Person("李四",23);
    //public static final Person p3 = new Person("王五",22);
    enum Person{
    	p1("张三",26),p2("李四",23),p3("王五",22);
    	private String name;
    	private int age;
    	private Person(String name,int age) {
    		this.name = name;
    		this.age = age;
    	} 
    	public String toString() {
    		return name+age;
    	}
    }
    

      

  • 相关阅读:
    jquery tmpl 详解
    freemarker 类型转换
    关于JQuery的绑定方法
    Jquery的extend方法
    Java高级特性之枚举
    runtime.getruntime.availableprocessors
    Log4J的使用
    JAVA关于一些变量的技巧
    Idea  调试代码
    java设计模式-State(状态)模式
  • 原文地址:https://www.cnblogs.com/liubing2018/p/8467311.html
Copyright © 2011-2022 走看看