获取 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 与多态
- instanceof 判断对象属于什么类, 判断一个对象是否为此接口或是类的实现或是子类
反射为我们提供了更细分的判断: