Java第一阶段-23枚举反射动态代理

一、枚举

1.定义

枚举是一个概念,列举的意思,将所有的情况都列举出来那么取值的时候只能是这几种情况的一种,不能是别的。

在java中枚举可以理解为有限制的多例,在当前类中定义多个实例供别人使用

2.应用场景

  一个星期只有七天,我们就可以把这些字符串装在一个数组或者集合中供我们使用(这也是枚举),但是扩展性非常差,比如,我们想显示英文的就必须重写一次,使用枚举类来实现,就是将变量放到一个类中,然后限制的定义几个对象使用。

3.格式

  空参构造的枚举类(没有意义)

public  class Week {
	
	public static final Week MON = new Week();
	public static final Week TUE = new Week();
	public static final Week WED = new Week();
	public static final Week THU = new Week();
	public static final Week FRI = new Week();
	public static final Week SAT = new Week();
	public static final Week SUN = new Week();
}

 

有参构造的枚举类

public  class Week {
	
	public static final Week MON = new Week("星期一");
	public static final Week TUE = new Week("星期二");
	public static final Week WED = new Week("星期三");
	public static final Week THU = new Week("星期四");
	public static final Week FRI = new Week("星期五");
	public static final Week SAT = new Week("星期六");
	public static final Week SUN = new Week("星期日");
	private String name;
	//私有化构造
	private Week(String name){
		this.name = name;
	}
	//提供getter方法,便于别人使用
	public String getName() {
		return name;
	}

}

有方法的枚举类

public  class Week {
	
	public static final Week MON = new Week("星期一");
	public static final Week TUE = new Week("星期二");
	public static final Week WED = new Week("星期三");
	public static final Week THU = new Week("星期四");
	public static final Week FRI = new Week("星期五");
	public static final Week SAT = new Week("星期六");
	public static final Week SUN = new Week("星期日");
	public String name;
	//私有化构造
	private Week(String name){
		this.name = name;
	}
	//提供getter方法,便于别人使用
	public String getName() {
		return name;
	}
	//提供特殊方法
	public  void show(){
		System.out.println("今天是"+name);
	}
}

包含抽象方法的枚举类

public abstract class Week {
	
	private static final Week MON = new Week("星期一"){
		public  void show(){
			System.out.println("星期一好难受");
		}
		
	};
	private static final Week TUE = new Week("星期二"){
		public  void show(){
			System.out.println("星期二晕晕乎乎");
		}
		
	};
	private static final Week WED = new Week("星期三"){
		public  void show(){
			System.out.println("咦,星期三了...");
		}
		
	};
	private static final Week THU = new Week("星期四"){
		public  void show(){
			System.out.println("赶紧,赶紧,今天快点结束");
		}
		
	};
	private static final Week FRI = new Week("星期五"){
		public  void show(){
			System.out.println("哇,好棒,星期五了"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值