モジュール java.base
パッケージ java.lang.reflect

列挙型クラスAccessFlag

java.lang.Object
java.lang.Enum<AccessFlag>
java.lang.reflect.AccessFlag
すべての実装されたインタフェース:
Serializable, Comparable<AccessFlag>, Constable

public enum AccessFlag extends Enum<AccessFlag>
classfieldmethodなどのランタイム・メンバーのJVMアクセスまたはモジュール関連フラグを表します。

JVMアクセスおよびモジュール関連のフラグは、Java言語modifiersに関連付けられていますが、異なります。 一部の修飾子およびアクセス・フラグには、 publicなどの1対1の対応関係があります。 また、sealed (JVMS 4.7.31)などの言語レベルの修飾子にはアクセス・フラグがなく、syntheticなどの対応する修飾子がないアクセス・フラグもあります。

アクセスおよびモジュール・フラグを表す定数の値は、4.1 (クラス・アクセスおよびプロパティ修飾子)、4.5 (フィールド・アクセスおよびプロパティ・フラグ)、4.6 (メソッド・アクセスおよびプロパティ・フラグ)、4.7.6 (ネストされたクラス・アクセスおよびプロパティ・フラグ)、4.7.24 (メソッド・パラメータ)および4.7.25 (モジュール・フラグと必須、エクスポートおよびオープン・フラグ)などの「Java Virtual Machine仕様」のセクションから取得されます。

異なるアクセス・フラグの「マスク」値は異なります。 フラグは異なる種類のJVM構造に対して定義され、同じビット位置は異なるコンテキストで異なる意味を持ちます。 たとえば、0x0000_0040volatileフィールドを示しますが、「ブリッジ・メソッド」 ; 0x0000_0080transientフィールドを示しますが、「変数アリティ (varargs)」メソッドを示します。

APIのノート:
JVMクラス・ファイル形式には、新しい「機能リリース」ごとに「新しいバージョン」が定義されています。 新しいクラス・ファイル・バージョンでは、新しいアクセス・フラグを定義したり、古いアクセス・フラグを廃止できます。 AccessFlagは、クラス・ファイル形式のバージョン間で一連のアクセス・フラグをモデル化することを目的としています。 アクセス・フラグが認識されるバージョンの範囲は、このAPIでは明示的に示されません。 詳細は、現在の「Java Virtual Machine仕様」を参照してください。 特に明記されていないかぎり、アクセス・フラグは「現在のバージョン」で認識されているとみなすことができます。
実装要件:
アクセス・フラグの定数は、減衰しないマスク値によって順序付けされます。つまり、定数のマスク値は、その (構文)の左側にある近傍のマスク値以上です。 新しい定数が追加された場合、このプロパティは維持されます。 つまり、既存のリストの最後に新しい定数が追加されるとは限りません。
導入されたバージョン:
20
関連項目: