通过反射获取私有构造方法并使用
生活随笔
收集整理的這篇文章主要介紹了
通过反射获取私有构造方法并使用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
package cn.learn_02;import java.lang.reflect.Constructor;/** 需求:通過反射獲取私有構(gòu)造方法并使用* private Person(String name){}* * Person p = new Person("風(fēng)清揚(yáng)");* System.out.println(p);*/
public class ReflectDemo3 {public static void main(String[] args) throws Exception {// 獲取字節(jié)碼文件對(duì)象Class c = Class.forName("cn.learn_01.Person");// 獲取私有構(gòu)造方法對(duì)象// NoSuchMethodException:每個(gè)這個(gè)方法異常// 原因是一開始我們使用的方法只能獲取公共的,下面這種方式就可以了。Constructor con = c.getDeclaredConstructor(String.class);// 用該私有構(gòu)造方法創(chuàng)建對(duì)象// IllegalAccessException:非法的訪問異常。// 暴力訪問con.setAccessible(true);// 值為true則指示反射的對(duì)象在使用時(shí)應(yīng)該取消Java語言訪問檢查。Object obj = con.newInstance("風(fēng)清揚(yáng)");System.out.println(obj);}
}
?
總結(jié)
以上是生活随笔為你收集整理的通过反射获取私有构造方法并使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过反射获取带参构造方法并使用
- 下一篇: 通过反射获取成员变量并使用