常量接口与枚举学习笔记总结

14 篇文章 0 订阅
1 篇文章 0 订阅

1、常量接口

  • 用来专门储存公开静态常量的接口

  • 程序当中,频繁使用到多次的固定值,使用接口保存这个常量

  • 程序当中,需要有直观的含义,可以使用接口常量

  • 例子:可以用来表示程序的错误代码,红绿灯状态等

2、枚举(规定取值范围)

  • 枚举类可以实现了一个或多个接口,使用enum定义的枚举类默认继承了java.lang.Enum类,而不是默认继承Object类,因此枚举类不能显示继承其他父类。其中java.lang.Enum类实现了java.lang.Seriallizable和java.lang.Comparable两个接口。

  • 使用enum定义、非抽象的枚举类默认会使用final修饰,因此枚举类不能派生子类

  • 枚举类的构造器只能使用使用private访问修饰符,如果省略了构造器的访问控制符,则只能指定private修饰符。

  • 枚举类的所有实例必须在枚举类的第一行显式列出,否则这个枚举永远不能产生实例。列出这些实例时,系统会自动添加public static final修饰,无须程序员显式添加。

  • 枚举类默认提供了一个values()方法,该方法可以很方便的遍历所有的枚举值。

3、枚举的语法

//使用enum定义枚举
public enum MonthEnum {
	//第一行,用来显示列出此枚举所有实例,这里是月份枚举,所以一共有12个实例
	January("一月"),February("二月"),March,April,May,June,
	July("七月"),August,September,October,November("十一月"),December;
	
	String month;	//枚举中可以有变量
	
	//枚举构造器隐式以private修饰,枚举中的构造器都是私有的
	private MonthEnum(){}
	//可以有有参构造器
	private MonthEnum(String month) {
		this.month=month;
	}	
}

4、枚举的应用(switch)

//测试,枚举的用法
public class Test {
	public static void main(String[] args) {
		//枚举中的一个月份实例
		MonthEnum mu1 = MonthEnum.December;
		
		//枚举中的其中一个月份
		MonthEnum mu2 = MonthEnum.April;
		
		printMonth(mu1);
		printMonth(mu2);
		
	}

    //判断是哪个月份
	public static void printMonth(MonthEnum mu) {
		// switch判断枚举
		switch (mu) {
		case January:
			System.out.println("一月");
			break;
		case February:
			System.out.println("二月");
			break;
		case March:
			System.out.println("三月");
			break;
		case April:
			System.out.println("四月");
			break;
		case May:
			System.out.println("五月");
			break;
		case June:
			System.out.println("六月");
			break;
		default:
			System.out.println("其他月份");
		}
	}
}

5、宏观:接口[USB例子]

  • 接口的实现者与使用者
* 实现者:谁实现了接口的具体方法定义
* 使用者:调用写好的实现着的方法
  • 例子
* USB接口制定服务方法【接口】
* 电脑(main方法调用这个服务)【接口的调用者】
* 不同的厂商(风扇Fan,U盘UDisk,台灯Lamp)实现这个接口,提供不同的服务;【接口的实现者】
* 电脑对象(开机),初始化usb对象,然后调用服务

6、接口回调

 * 先有接口的使用者,后有接口的实现者

6、其他经验

  • 在任何一个大厂里面;绝对不允许我们的逻辑代码出现1,2,‘a’,”abc‘等等这样的内容

  • 1:注释率,常量使用等等硬编码的内容

  • 2:重复代码率;相同的逻辑代码判断等等,一定要封装成方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值