通过反射获得类的构造引用无视private修饰符
生活随笔
收集整理的這篇文章主要介紹了
通过反射获得类的构造引用无视private修饰符
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
import operate327.Demo;
import operate425.demo.demo1.Student;import java.lang.reflect.Constructor;/*** 通過(guò)反射獲得類(lèi)的構(gòu)造引用無(wú)視private修飾符** @author silence*/
public class ClassConstructor {public static void main(String[] args) throws Exception {//獲得class 字節(jié)碼文件引用java.lang.Class<?> clazz = java.lang.Class.forName("operate425.demo.demo1.Student");//獲得class 字節(jié)碼文件引用java.lang.Class<?> clzz1 = Student.class;//獲得公共的無(wú)參構(gòu)造/* Constructor<?> constructor = clzz1.getConstructor();//創(chuàng)建對(duì)象應(yīng)用,這里必須傳入構(gòu)造方法所需要的實(shí)參Student student = (Student) constructor.newInstance();System.out.print( student.getName());*///獲得帶公共的參構(gòu)造器/* Constructor<?> constructor = clazz.getConstructor(int.class);//創(chuàng)建對(duì)象應(yīng)用,這里必須傳入構(gòu)造方法所需要的實(shí)參Student student = (Student) constructor.newInstance(23);System.out.println(student.getAge());*///獲得私有的無(wú)參構(gòu)造器/*Constructor<?> declaredConstructor = clazz.getDeclaredConstructor();//獲得私有的構(gòu)造器必須先臨時(shí)關(guān)閉訪問(wèn)修飾符的權(quán)限declaredConstructor.setAccessible(true);//創(chuàng)建對(duì)象應(yīng)用,這里必須傳入構(gòu)造方法所需要的實(shí)參Student student = (Student) declaredConstructor.newInstance();System.out.println(student.getName());*///獲得私有的有參構(gòu)造器/* Constructor<?> declaredConstructor = clazz.getDeclaredConstructor(int.class);//獲得私有的構(gòu)造器必須先臨時(shí)關(guān)閉訪問(wèn)修飾符的權(quán)限declaredConstructor.setAccessible(true);//創(chuàng)建對(duì)象應(yīng)用,這里必須傳入構(gòu)造方法所需要的實(shí)參Student student = (Student) declaredConstructor.newInstance(65);System.out.println(student.getAge());*/}
}
總結(jié)
以上是生活随笔為你收集整理的通过反射获得类的构造引用无视private修饰符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java连接mysql数据库C3P0入门
- 下一篇: django url 生效_Django