反射获取类的三种方式
Java里提供有三种类型:
- 利用Object类之中的getClass()方法 方法:public final Class<?> getClass(),表示所有类的实例化对象都可以调用此方法。
Date date = new Date(); Class<?> cls = date.getClass(); System.out.println(cls);
在任何的开发中,这种调用getClass()的方法很少会出现在直接的编写形式上。
- 使用“类.class”的形式取得反射的实例化对象
Class<?> cls = java.util.Date.class; System.out.println(cls);
这样的操作形式只有在框架技术上才会使用到。 以上的两种操作都有一个本质的共同点:类必须首先存在,而后才可以进行反射的操作。
- 利用Class类提供的方法实例化对象
public static Class<?> forName(String className) throws ClassNotFoundException Class<?> cls = Class.forName(“java.util.Date”); System.out.println(cls);
