public void test1() {
// 方式一 : 通过类名获取 class 对象
// 格式 : 类名.class 属性
// 常用场景 : 反射获取方法时, 确定方法的形参列表类型
Class<Student> cls = Student.class;
System.out.println("cls = " + cls);
}
public void test3() throws ClassNotFoundException {
// 方式三 : 使用 Class 调用静态方法 forName(全限定类名); `包名+类名`
// 使用场景 : 加载外部的配置文件时使用
Class<?> cls = Class.forName("cn.itcast.test.Student");
System.out.println("cls = " + cls);
}
public void testDate1() throws Exception {
// 1. 获取 Date 表示的 Class 对象.
Class<?> cls = Class.forName("java.util.Date");
// 2. 获取简单类名
String simpleName = cls.getSimpleName();
System.out.println("simpleName = " + simpleName);
// 3. 获取完成名称 (包名 + 类名)
String name = cls.getName();
System.out.println("name = " + name);
// 3. 创建一个日期对象
// cls.newInstance(); 已过时.
Object obj = cls.getDeclaredConstructor().newInstance();
System.out.println("obj = " + obj);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |