获取 Class 对象

public static void main(String[] args) throws ClassNotFoundException {
    Class<String> clazz = String.class;   //使用class关键字,通过类名获取
    Class<?> clazz2 = Class.forName("java.lang.String");   //使用Class类静态方法forName(),通过包名.类名获取,注意返回值是Class<?>
    Class<?> clazz3 = new String("cpdd").getClass();  //通过实例对象获取
}

通过一个类的类名加上.class后缀可以获得该类的Class对象,或者使用forName和通过实例对象来获取。后两者需要使用泛型属性。

Class 与多态

反射为我们提供了更细分的判断: