反射

    xiaoxiao2021-04-15  68

    package cn.itcast_02; import java.lang.reflect.Constructor; /* * 需求:通过反射获取私有构造方法并使用 * private Person(String name) * * Person p = new Person("风清杨"); * Systme.out.println(p); */ public class ReflectDemo3 { public static void main(String[] args) throws Exception { // 获取字节码文件对象 Class c = Class.forName("cn.itcast_01.Person"); // 获取私有带参构造方法对象 // NoSuchMethodException:没有这个方法异常 // 原因是我们一开始使用的方法只能获取公共的,下面这种方式就可以了。 // Constructor con = c.getConstructor(String.class); Constructor con = c.getDeclaredConstructor(String.class); // 通过私有带参构造方法对象创建对象 // IllegalAccessException:非法的访问异常 // 暴力访问 con.setAccessible(true);// 值为true则指示反射的对象在使用时应该取消Java语言访问检查。 Object obj = con.newInstance("风清杨"); System.out.println(obj); } }
    转载请注明原文地址: https://ju.6miu.com/read-671306.html

    最新回复(0)