Java反射中的class
反射中的class 是 java.lang.Class 中Class 类的实例对象 在 java 中 创建类时 每个类都会默认有一个public static class 对象,该对象是在类进行编译时,由JVM虚拟机创建,该对象保存了当前类的所有属性,方法,以及构造器等类的信息。
- 第一种
public final native Class<?> getClass();
该方法Object 中定义的方法,因为Object 是所有类的根类,所以getclass()方法也被java中创建的类所继承,可以直接通对象名.方法名的方式获取Class对象,例如
Student student = new Student();
Class studentClass = student.getClass();
- 第二种
public static Class<?> forName(String className) ;
该方法是Class中定义的方法,而且属于静态方法,用于通过类名.方方法名直接调用 (Class.forName),例如:
Class studentClass = Class.forName("com.gs.entity.Student");
- 第三种
类名.class
既然可以直接通过类名.属性名的方式获取Class对象(注意 这里的class 是小写的),显示图他是属于当前类中的东西,只有属于本类的静态方法或者静态属性 ,才可以通过类名.属性名的方式来获取该属性,