反射1:获得Class<?>

原创
2016/05/10 13:54
阅读数 75

     经常遇到这种情况,在配置文件中配置使用哪个类;程序在运行时,通过配置的类名,动态生成这个类的对象或调用这个类的某个方法。 这使用的是java的反射机制。

   当程序启动时,类加载器首先会加载所需的类文件。这些类结构信息存储在内存中,定义它们统一的类型:Class, 同一个类加载器下,是全局唯一的。

   怎么获得一个类的Class呢?

 

public static void main(String[] args) throws ClassNotFoundException {
    String className = "java.lang.Object"; //注意是运行期
    Class<?> classType = Class.forName(className);//方法1: 使用class类的静态方法,获取class对象,参数是类的全称
    Class<?> classType2 = Object.class;//方法2 : 类名.class
    Class<?> classType3 = new Object().getClass();//方法3:通过对象获取

 
}

  

     

展开阅读全文
打赏
2
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
2
分享
返回顶部
顶部