第一种

Class.forName

  1. 静态方法
  2. 方法参数是字符串
  3. 字符串需要一个完整类型
  4. 完整类型必须带有报名: java.lang包也不能省略
    1. Class c1 = Class.forName("java.lang.String");
    Class.forName() 导致类加载, 会执行静态代码块. 所以只想执行类的静态代码块的时候, 采用该方法.

    第二种

    Java种任何一个方法都有getClass方法 对象.getClass()

  1. String s = "abc";
  2. Class x = s.getClass(); // x代表String.class字节码文件,x代表String类型
  3. System.out.println(c1 == x); // True

第三种

java的任何一个类型,包括基本数据类型,都有.class属性

  1. Class z = String.class;
  2. Class k = Date.class;
  3. Class f = int.class;