我正在查看一些从 Java 字节码获得的反汇编代码。我看到一些声明如下:
.method static synthetic access$0()Lcom/package/Sample;
我不明白是什么synthetic
or access$0
意思是。有人可以帮我理解这部分吗?
在java语言中,内部类可以访问其封闭类的私有成员。然而,在Java字节码中,不存在内部类的概念,并且私有成员是不可访问的。为了解决这个问题,编译器在外部类中创建合成访问器方法。我相信这就是您在这里看到的。access$0
只是方法的名称。我不确定是什么(如果有的话)synthetic
做。它可能只是对其他编译器隐藏该方法以确保封装。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)