如何在 Java 中创建合成字段?
java中的合成字段只能在运行时创建吗?
如果没有:在编译时是否有符合标准的方法(无需更改类文件中的某些字节)
当语言的“奇怪之处”需要它们时,它们是由编译器创建的。一个简单的例子是使用内部类:
public class Test
{
class Inner
{
}
}
The Test.Inner
类将有一个合成字段来表示适当的实例Test
class.
我们可以稍微扩展此代码以显示该字段:
import java.lang.reflect.*;
public class Test
{
public static void main(String[] args)
{
for (Field field : Inner.class.getDeclaredFields())
{
System.out.println(field.getName() + ": " + field.isSynthetic());
}
}
class Inner
{
}
}
使用我的编译器,打印:
this$0: true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)