获取Class的实例的方式(前三种方式需要掌握)//获取Class的实例的方式(前三种方式需要掌握)@Testpublicvoidtest3()throws ClassNotFoundException {//方式一: 调用运行时类的属性: class
Class<Person> clazz1 = Person.class;
System.out.println(clazz1);//方式二: 通过运行是类的对象,调用getClass()方法
Person p1 =newPerson();
Class clazz2= p1.getClass();
System.out.println(clazz2);//方式三: 调用Class的静态方法: forName(String classPath)
Class clazz3= Class.forName("reflection.java.Person");
System.out.println(clazz3);
System.out.println(clazz1 == clazz2);
System.out.println(clazz1 == clazz3);//方式四: 使用类的加载器: ClassLoader (了解)
ClassLoader classLoader = ReflectionTest.class.getClassLoader();
Class clazz4= classLoader.loadClass("reflection.java.Person");
System.out.println(clazz4);
System.out.println(clazz1 == clazz4);}//万事万物皆对象 对象.xxx,File,URL,反射,前端,数据库操作
Class实例可以是那些结构的说明
//Class实例可以是那些结构的说明:@Testpublicvoidtest4(){
Class c1= Object.class;
Class c2= Comparable.class;
Class c3= String[].class;
Class c4=int[][].class;
Class c5= ElementType.class;
Class c6= Override.class;
Class c7=int.class;
Class c8=void.class;
Class c9= Class.class;int[] a =newint[10];int[] b =newint[100];
Class c10= a.getClass();
Class c11= b.getClass();// 只要数组的元素类型与维度一样,就是同一个Class
System.out.println(c10 == c11);}