枚举 : 确定一种事物的所有可能|实例
1、枚举是类,特殊的枚举类型,具有枚举类型特殊的约束
2、定义枚举使用enum
3、枚举类中的字段默认为当前枚举类型的实例,修饰符默认为public static final
4、枚举类中可以根据需求定义成员,构造器...
5、枚举类中默认构造器私有化
6、自定义的枚举类型默认隐式的继承自 java.lang.Enum->这是所有Java语言枚举类型的公共基类
clone():克隆,拷贝;来自Object类clone()方法
Cloneable接口 : 对象的类型要求实现Cloneable,才具有克隆的能力
java.lang.CloneNotSupportedException : 抛出此异常表示已调用类Object中的clone方法来克隆对象,但该对象的类未实现Cloneable接口
方法重写的细节: 子类中的重写方法, 父类中被重写的方法
== :方法签名完全相等
<=:返回值类型 : 基本数据类型要求完全相等 引用数据类型:重写方法的返回值类型<=被重写方法的返回值类型
>=:权限修饰符 : 重写方法的权限修饰符>=被重写方法的权限修饰符
浅拷贝|浅克隆 : 当拷贝对象的时候,对象的属性如果为引用数据类型,属性所指向的对象不拷贝
深拷贝|深克隆 : 当拷贝对象的时候,对象的属性如果为引用数据类型,属性所指向的对象也拷贝一份
建议: 当对象的属性是通过复杂的运算或者算法计算出来,在想要等到相同内容的对象时候可以使用clone克隆,提高效率
public class Class001_Enum {
public static void main(String[] args) {
//使用枚举类型的实例
WeekDay day1 = WeekDay.DAY1;
System.out.println(day1.getName());
//name()
System.out.println(day1.name()); //枚举类字段名
//ordinal() 获取枚举实例在枚举类中字段列表的序号,从开始
System.out.println(day1.ordinal());
//values() 获取当前枚举类型的所有实例
WeekDay[] arr = day1.values();
System.out.println(Arrays.toString(arr));
//switch语句 在jdk1.5新增支持对枚举类型的数据的判断
switch (day1){
case DAY1:
System.out.println("周一");
break;
case DAY2:
System.out.println("周二&