5.6 枚举类
使用enum关键字可创建枚举类型
public class Main {public static void main(String[] args){
Main solution = new Main();
Color c = Color.BLACK;
System.out.println(c);
}
enum Color{
WHITE,BLACK,BLUE,YELLOW,RED
}
}
重要特性:
1. 所有枚举类都继承Enum,创建子枚举数据时,会自动调用Enum构造器,放置它的名称和顺序:
2. 进行对象打印时,会自动调用Enum类相应的toString方法:
3. 可以使用小括号+全局变量+构造+getter的形式,为枚举类附加一些其他的值(小括号+全局变量+构造 这几个必需,而且全局变量必须是包级别,不能是public):
public class Main {public static void main(String[] args){
Main solution = new Main();
Color c = Color.BLACK;
System.out.println(c);
System.out.println(c.getZhName());
}
enum Color{
WHITE("白色"),BLACK("黑色"),BLUE("蓝色"),YELLOW("黄色"),RED("红色");
private final String zhName;
Color(String zhName){
this.zhName = zhName;
}
public String getZhName() {
return zhName;
}
}
}
4. 可通过Enum反向创建Enum对象,也可获取所有当前枚举类的所有对象:
public class Main {public static void main(String[] args){
Main solution = new Main();
//利用所有属性,反向创建Enum对象
Color white = Enum.valueOf(Color.class,"WHITE");
System.out.println(white);
//获取所有颜色
Color[] cs = Color.values();
for(Color c:cs){
System.out.println(c);
}
}
enum Color{
WHITE("白色"),BLACK("黑色"),BLUE("蓝色"),YELLOW("黄色"),RED("红色");
private final String zhName;
Color(String zhName){
this.zhName = zhName;
}
public String getZhName() {
return zhName;
}
}
}
5.7 反射
5.7.1 Class类
Class是类的类型标识
public class Main {public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
Main solution = new Main();
Date d1 = new Date();
Class c1 = d1.getClass();
System.out.println("测试1,类->类型:"+c1.getName());
Class<Date> c2 = (Class<Date>) Class.forName("java.util.Date");
System.out.println("测试1,类型->类:"+c2.newInstance().getTime());
}
}
系列内容:
《Java 核心技术 卷1》 笔记:第一章 Java程序设计概述
《Java 核心技术 卷1》 笔记:第二章 Java程序设计环境
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(1)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(2)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(3)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(4)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(6)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(7)大数处理、数组、多维数组、控制台传参
《Java 核心技术 卷1》 笔记 第四章:类与对象
《Java 核心技术 卷1》 笔记 第四章:类与对象(2) GregorianCalendar 与 类的基本组成
《Java 核心技术 卷1》 笔记 第四章:类与对象(3) 构造器全局私有方法
《Java 核心技术 卷1》 笔记 第四章:类与对象(4) 静态字段+静态方法+工厂方法
《Java 核心技术 卷1》 笔记 第四章:类与对象(5) 形参与实参 构造器的默认值与默认构造
《Java 核心技术 卷1》 笔记 第四章:类与对象(6) 构造器调用与初始化块
《Java 核心技术 卷1》 笔记 第四章:类与对象(7) 注释、JavaDoc与类设计
《Java 核心技术 卷1》 笔记 第五章 继承
《Java 核心技术 卷1》 笔记 第五章 继承(2)
《Java 核心技术 卷1》 笔记 第五章 继承(3)
《Java 核心技术 卷1》 笔记 第五章 继承(4)equals方法
《Java 核心技术 卷1》 笔记 第五章 继承(5)hashCode 与 toString
《Java 核心技术 卷1》 笔记 第五章 继承(6) 泛型
《Java 核心技术 卷1》 笔记 第五章 继承(7) 包装类和可变数组
喜欢的话,点个赞吧~!平时做题,以及笔记内容将更新到公众号。
关注公众号,互相学习:钰娘娘知识汇总