类
TestHolder需要在中调用私有构造函数
Test。但是它是私有的,实际上不能从另一个类中调用。因此,编译器发挥了作用。它
添加了一个
Test仅知道的新的非私有构造函数!_该构造函数采用此匿名类的(未使用的)实例
Test-没人知道它的存在。然后
TestHolder创建的实例
Test并调用
_该 构造函数,该构造函数是可访问的(默认保护)。
您可以使用
javap -c Test(和
javap -c Test,和
javap -cTest$TestHolder)查看代码。实际上,它非常聪明!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)