面试题:私有构造方法类外部能访问吗,用什么方…
2018-06-18 03:19:07来源:未知 阅读 ()
反射的时候通过暴力破解是可以访问的
package com.swift.fanshe; import java.util.List; public class Fanshe { String name="swift"; private Fanshe(List list) { System.out.println("list"); } }
用反射的方法调用上面的类
package com.swift.fanshe; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; import org.junit.Test; public class TestFanshe { @Test public void test() throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Class clazz=Class.forName("com.swift.fanshe.Fanshe"); Constructor c=clazz.getDeclaredConstructor(List.class); c.setAccessible(true);//暴力打开私有构造 Fanshe fanshe=(Fanshe) c.newInstance(new ArrayList()); System.out.println(fanshe.name); } }
对构造器进行暴力破解后,私有的构造也可以访问,这个构造器的获得要通过getDeclaredConstructor()方法
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- JVM常见面试题解析 2020-06-11
- 构造函数中的this()和super() 2020-06-10
- 送你一份年薪百万的抖音Java岗内部面试题 2020-06-09
- 总结一些 Java 相关笔试、面试题,万一用上了呢 (=_=) -- 基 2020-06-08
- 最强Dubbo面试题,附带超级详细答案 2020-06-06
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash