JAVA 创建运行时类实例

Posted 行尸走肉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 创建运行时类实例相关的知识,希望对你有一定的参考价值。

 

摘自 b站尚硅谷JAVA视频教程

        Class PersonC = Person.class;
        /*
        * 调用newInstance的条件:
        *   1 对应的类要提供空参构造器
        *   2 空参构造器的访问权限应为public
        *
        *
        * */
        Object p = PersonC.newInstance();
        System.out.println(p);

通过运行时类,可以动态创建不同的类:

 int num = new Random().nextInt(3);
        String classPath = null;
        switch (num){
            case 0:
                classPath = "java.util.Data";
                break;
            case 1:
                classPath = "java.lang.Object";
                break;
            case 2:
                classPath = "com.LearnJava.reflect.Person";
                break;

        }
        try {
            System.out.println(getInstance(classPath));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static  Object getInstance (String classPath)throws Exception{
        Class cl = Class.forName(classPath);
        return cl.newInstance();
    }

 

以上是关于JAVA 创建运行时类实例的主要内容,如果未能解决你的问题,请参考以下文章

java反射专题一

java反射系列四之创建运行时类的对象

Java 反射--创建运行时类的对象

Java 反射机制:创建运行时类的对象

java 面向对象(三十八):反射 Class类的理解与获取Class的实例

反射机制