Javaで合成フィールドの重要性を理解しやすい方法で説明することはできますか。私は、そのような内部クラスのインスタンスがそれぞれ、囲むクラスへの参照を保持している非静的な内部クラスのコンテキストでそれを読むことを思い出しています。そのような参照/フィールドが合成フィールドと呼ばれるのはなぜですか?Javaの合成フィールドとは何ですか?
答えて
合成フィールドは、ローカル内部クラスをブロックのローカル変数または参照型パラメータにリンクするコンパイラ作成フィールドです。コンパイラは、名前のスコープを実装するために、特定の隠しフィールドとメソッドを合成します。これらのフィールドは、特に明記されていない限り、非公開です。あなたはより多くの情報hereを得ることができますし、JLS
にソースコードに表示されていないクラスメンバは、合成属性を使用してマークされる必要があり、そうでなければ、そのACC_SYNTHETICフラグが設定されている必要があります。この要件の唯一の例外は、Javaプログラム言語(§2.9)のデフォルトコンストラクタを表すインスタンス初期化メソッド、クラス初期化メソッド(§2.9)、および列挙型である、実装成果物とは見なされないコンパイラ生成メソッドです。 values()およびEnum.valueOf()メソッド..
"合成フィールドは、ローカル内部クラスをブロックのローカル変数または参照型パラメータにリンクするコンパイラ作成フィールドです"...私はこの行の意味を理解していない。コード例が役に立ちます。 – Geek
コード例は、この[blog](http://javapapers.com/core-java/java-synthetic-class-method-field/)を参照してください。 – NINCOMPOOP
フィールド上での反射を通してクローニングを作成している場合、それらを正しくスキップする必要がありますか? –
- 1. dot '。'のjava keyeventフィールドは何ですか?
- 2. なぜJavaコンパイラはserialVersionUID合成フィールドを作成しますか?
- 3. 合成ポインタとは何ですか?
- 4. スワッガーセキュリティスキームオブジェクトの「スコープ」フィールドとは何ですか?
- 5. 疑問符のjava keyeventフィールドは何ですか?
- 6. LinkedIn API - "Specialties"フィールドとは何ですか?
- 7. "module" package.jsonフィールドとは何ですか?
- 8. Kibanaの 'field'フィールドと 'field.keyword'フィールドの違いは何ですか?
- 9. 私のクラスのフィールドは、他の2つのフィールドの合計ですか? (Java)の
- 10. Blazeの「合成寸法」とは何ですか?
- 11. 合成結果の "ゲートカウント"とは何ですか?
- 12. javaでは "String ..."とは何ですか?
- 13. Javaプロパティファイルでは「\」とは何ですか?
- 14. Javaの「同期」とは何ですか?
- 15. Javaの「システムデフォルトパッケージ」とは何ですか?
- 16. Javaのニーモニックとは何ですか?
- 17. Android JavaのEventTypeとは何ですか?
- 18. Javaのタスクとは何ですか?
- 19. Java Hashmapのタイピングシステムとは何ですか?
- 20. Javaのsecuritypack.jarとは何ですか?
- 21. Javaのクラスライブラリとは何ですか?
- 22. Javaのコールバックインターフェイスとは何ですか?
- 23. Javaのバックリファレンスとは何ですか?
- 24. Java内のpalindromeとは何ですか
- 25. Javaのlvmidとは何ですか?
- 26. Javaのシリアル化とは何ですか?
- 27. Javaのプラットフォームライブラリとは何ですか
- 28. Play Javaのアキュムレータとは何ですか?
- 29. java genericsの `AnyType`とは何ですか
- 30. JavaのkeyComparatorとは何ですか?
http://stackoverflow.com/questions/5223268/what-is-the-meaning-of-static-syntheticおよびhttp://stackoverflow.com/questions/7767804/synthetic-back-in-an-inner-class – assylias