A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黎辰 中级黑马   /  2018-8-2 21:41  /  799 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

内部类(inner class)是定义在另一个类中的类,内部类中的方法可以访问创建该内部类的类(我们称其为外围类 outer class)的域中所有数据(包括私有/private数据)。并且,内部类可以对同一个包中的其他类隐藏起来。

但是由于内部类是一种编译器现象,在虚拟机中只存在常规类文件,所以在编译过程中,内部类被翻译成”外围类名$内部类名”的一个常规类,另一方面由于内部类有非常高的特权(可以访问外围类中的私有域)所以在一些特殊手段下(比如利用十六进制编辑器创建一个虚拟机指令调用该内部类),有可能会导致外围类内的私有域数据泄露。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马