package com.qiang.reflect;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
public class MyMain {
public static void main(String[] args) throws IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
//通过反射技术创建MyClass类的对象(实例, instance)
//创建Class对象,拿到MyClass的字节码文件
Class<?> claxx = MyClass.class;
//通过class对象创建Class实例
//Class对象,有newInstance()方法可以创建实例, 默认调用类的无参数构造
Object obj1 = claxx.newInstance(); //默认调用MyClas()无参构造
System.out.println(obj1);
//反射构造方法,通过构造方法创建实例 这个是通过有参数构造方法创建实例化
Constructor<?> constructor = claxx.getConstructor(int.class, int.class, int.class);
Object obj2 = constructor.newInstance(10, 20, 30);
System.out.println(obj2);
//反射无参构造,创建实例 无参数构造方法
constructor = claxx.getConstructor();
obj2 = constructor.newInstance();
System.out.println(obj2);
}
}
通过reflect方法创建对象
最新推荐文章于 2024-08-11 20:44:12 发布