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

      

  • 相关阅读:
    50 +漂亮的网站的配色方案(下)
    分享一款jQuery的UI插件:Ninja UI
    让代码飞一会儿:快速编写 HTML 和 CSS 的工具和技术
    30 +最佳移动网络设计灵感的案例
    50 +漂亮的网站的配色方案(上)
    20+ 个很棒的 jQuery 文件上传插件或教程
    23个全屏照片为背景的网站
    20个值得开发人员关注的jQuery技术网站和博客
    20张图,让你看清2012移动互联网大方向
    7 款仿照 Sinatra 思路的 .NET 框架
  • 原文地址:https://www.cnblogs.com/liubing2018/p/8467311.html
Copyright © 2020-2023  润新知