美文网首页
获得Class类对象的几种方法

获得Class类对象的几种方法

作者: 阿莫米德 | 来源:发表于2017-04-05 23:20 被阅读0次

第一种方法:

    public static void main(String[] args) {
            String str = "Hello";
            Class<?> cls = str.getClass(); //必须有一个实例化的对象
            System.out.println(cls);

第二种:

public static void main(String[] args) {
            Class<?> cls = java.lang.String.class; 
            System.out.println(cls);

这种方法不需要一定要一个实例化的对象,直接通过类名就能得到。但是这种方法必须有一个明确的结构,就是那个类必须要存在。java.lang.String.class 如果这里写错了,程序就必然会报错。编译不能通过。但是有的时候的情况是,我们要给之后的可能新有的类预留出空间,这样这么做就不行了。

第三种方法:

public static void main(String[] args) throws Exception{    
            Class<?> cls = Class.forName("java.lang.String"); 
            System.out.println(cls);

这个方法的好处就是即使java.lang.String不存在,在编译的时候也不会报错,只有在运行的时候才会报错。

但是我们的目的不是取得类对象,取得类对象之后,我们得到类的实例化对象的方法就不用new了,这时候就可以用Class里面的方法newInstance()。
这个方法可能会抛出两个异常:
InstantiationException: 没有无参构造,或者类名错误
IllegalAccessException:构造方法私有化

相关文章

  • 反射、Class类、Field类、Method类

    反射 Class类 Class类没有公共构造方法,所有创建Class的对象的方法有以下几种: 1.通过Class....

  • 获得Class类对象的几种方法

    第一种方法: 第二种: 这种方法不需要一定要一个实例化的对象,直接通过类名就能得到。但是这种方法必须有一个明确的结...

  • 类加载&反射

    1、获得一个类的类对象有哪些方式? 阅读API的Class类得知,Class 没有公共构造方法。Class 对象是...

  • java反射机制

    核心是object类的getclass方法,可以构造java类的.class对象; 该class对象可以获得类的所...

  • JAVA面试题整理之—基础篇第三部(完结篇)

    47、获得一个类的类对象有哪些方式? 答: - 方法1:类型.class,例如:String.class - 方法...

  • OC中的class方法

    实例对象的class方法 实例对象的class方法返回的是该实例对象的类对象 类对象的class方法 类对象的cl...

  • 夯实Java基础系列9:深入理解Class类和Object类

    目录 Java中Class类及用法Class类原理如何获得一个Class类对象使用Class类的对象来生成目标类的...

  • 反射

    获取类的Class对象 直接通过类.class,获取其Class对象 通过Class的forName方法 通过类实...

  • 反射基础

    材料准备 Class类 获取Class对象通过类名.class获取通过对象名.getClass()获得通过Clas...

  • runtime class方法

    1、Class 和 id 的定义 2、获得对象的object_getClass 3、获得类的class 4、获得类...

网友评论

      本文标题:获得Class类对象的几种方法

      本文链接:https://www.haomeiwen.com/subject/bxixattx.html