码迷,mamicode.com
首页 > 移动开发 > 详细

Android(java)学习笔记108:通过反射获取私有构造方法并且使用

时间:2015-06-10 13:49:08      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

 1 package cn.itcast_02;
 2 
 3 import java.lang.reflect.Constructor;
 4 
 5 /*
 6  * 需求:通过反射获取私有构造方法并使用
 7  * private Person(String name){}
 8  * 
 9  * Person p = new Person("风清扬");
10  * System.out.println(p);
11  */
12 public class ReflectDemo3 {
13     public static void main(String[] args) throws Exception {
14         // 获取字节码文件对象
15         Class c = Class.forName("cn.itcast_01.Person");
16 
17         // 获取私有构造方法对象
18         // NoSuchMethodException:每个这个方法异常
19         // 原因是一开始我们使用的方法只能获取公共的,下面这种方式就可以了。
20         Constructor con = c.getDeclaredConstructor(String.class);
21 
22         // 用该私有构造方法创建对象
23         // IllegalAccessException:非法的访问异常。
24         // 暴力访问
25         con.setAccessible(true);// 值为true则指示反射的对象在使用时应该取消Java语言访问检查。
26         Object obj = con.newInstance("风清扬");
27 
28         System.out.println(obj);
29     }
30 }

 

Android(java)学习笔记108:通过反射获取私有构造方法并且使用

标签:

原文地址:http://www.cnblogs.com/hebao0514/p/4565748.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!