一个小例子体会Java反射的动态性

简介: 一个小例子体会Java反射的动态性

背景:需要在程序运行时或者说某段代码运行后才能知道要创建哪个类的对象。


import java.util.Random;
/**
 * @Author: Yeman
 * @Date: 2021-10-02-22:18
 * @Description:
 */
public class ReflectionTest {
    public static Object getInstance(String path) throws Exception {
        Class<?> clazz = Class.forName(path); //根据全类名获取类
        Object o = clazz.newInstance(); //创建指定运行时类的对象
        return o;
    }
    public static void main(String[] args) {
        String path = null;
        for (int i = 0; i < 10; i++) {
            int c = new Random().nextInt(3); //随机产生0,1,2
            //根据产生的情况指定所要创建的类
            switch (c){
                case 0 :
                    path = "java.util.Date";
                    break;
                case 1 :
                    path = "Person";
                    break;
                case 2 :
                    path = "java.lang.Object";
                    break;
            }
            try {
                Object instance = getInstance(path);
                System.out.println(instance);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}



相关文章
|
28天前
|
安全 Java API
Java反射(Reflection)的技术性文章
Java反射(Reflection)的技术性文章
26 1
|
3天前
|
Java
JAVA单例模式-双重检验锁(防止反射、序列化多个)
JAVA单例模式-双重检验锁(防止反射、序列化多个)
12 1
|
4天前
|
Java 测试技术
Java反射之Method的invoke方法详解
Java反射之Method的invoke方法详解
|
7天前
|
安全 Java
Java反射的使用
Java反射的使用
|
9天前
|
Java 程序员
Java中实现动态性的原理和机制
Java中实现动态性的原理和机制
16 1
|
14天前
|
JSON IDE Java
Java反射详解:核心概念、使用方法与实际应用
Java反射详解:核心概念、使用方法与实际应用
33 2
|
21天前
|
存储 设计模式 Java
Java语言中反射动态代理接口的解释与演示
Java语言中反射动态代理接口的解释与演示
14 1
|
1天前
|
Java API
java之反射机制
java之反射机制
|
3天前
|
Java
java反射-动态调用方法(无参无返回值、有参无返回值、有参有返回值)
java反射-动态调用方法(无参无返回值、有参无返回值、有参有返回值)
5 0
|
3天前
|
Java
java反射-属性赋值取值
java反射-属性赋值取值
8 0