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