Java 中的合成字段是什么? [重复]

问题描述 投票:0回答:1

有人可以用一种易于理解的方式解释 Java 中合成字段的重要性吗?我记得在非静态内部类的上下文中阅读它,其中每个此类内部类实例都维护对封闭类的引用。为什么这样的引用/字段被称为合成字段?

java field inner-classes synthetic
1个回答
26
投票

合成字段是编译器创建的字段,它将局部内部类链接到块的局部变量或引用类型参数。编译器综合某些隐藏字段和方法以实现名称范围。除非另有说明,否则这些字段是私有的,或者它们最多属于包范围。您可以在此处JLS

获取更多信息

未出现在源代码中的类成员必须使用 Synthetic 属性进行标记,否则必须设置其 ACC_SYNTHETIC 标志。此要求的唯一例外是编译器生成的方法,它们不被视为实现工件,即表示 Java 编程语言的默认构造函数的实例初始化方法(第 2.9 节)、类初始化方法(第 2.9 节)和 Enum。 value() 和 Enum.valueOf() 方法..

© www.soinside.com 2019 - 2024. All rights reserved.