メタクラスは Java プログラム要素や工芸品に関連付けられているメタデータへのランタイム アクセスをサポートします。パッケージ、クラス、メソッド、プログラム要素が含まれます、フィールドと各メタデータ要素属性に呼ばれます。属性は、通常 !JavaDoc マークアップとして Java ソース ファイルで指定します。ソース ファイルは処理されメタデータはメタクラスが読み込みできる記述子にコンパイルされます。これらの記述子は、プログラムの要素に関するメタデータを提供するために実行時に読み込まれます。