T - 由此 Class 对象建模的类的类型。例如,String.class 的类型是Class。如果将被建模的类未知,则使用Class<?>。

    一:.class的方式来获取Class实例。对于基本数据类型的封装类,还可以采用.TYPE来获取相对应的基本数据类型的Class实例。例如,Integer.TYPE 与 int.class是等效的,都是int。

    二:利用对象调用getClass()方法获取该对象的Class实例

    1. public class Test {
    2. public static void main(String[] args) {
    3. System.out.println("第一种实例化:");
    4. System.out.println(int.class);
    5. System.out.println(Integer.TYPE);
    6. System.out.println("第二种实例化:");
    7. Test test = new Test();
    8. System.out.println(test.getClass().getName());
    9. System.out.println(test.getClass().getSimpleName());
    10. }
    11. }

    二:使用Class类的静态方法forName(),用类的名字获取一个Class实例(static Class forName(String className) ),这种方式灵活性最高,根据类的字符串全名即可获取Class实例,可以动态加载类

    1. Class<?> classBook = Class.forName("com.android.peter.reflectdemo.Book");
    2. Object objectBook = classBook.newInstance();
    3. Book bool = (Book)objectBook;