AST を介してクラス宣言のすべての情報 ( modifiers
、 extends
および を使用) を取得することは可能ですか?implements
私はこのような構造を取得したい:
[ modifiers ] class ClassName [ extends SuperClassName ] [ implements InterfaceNames ] {
情報のおかげで!
TheWhiteRabbitで述べたように、java.lang.Classクラスから始まるリフレクションを使用するか、 antlrなどのコードパーサーを探している可能性があります。あなたの質問はすでにここで尋ねられているようですのでご注意ください。
Java では、値を取得するのは非常に困難ですが、次のようなものを取得できます。
Class Modifiers
:- そのクラスのオブジェクトをパブリック クラスよりも作成できる場合は、それ以外の場合
Extends
:- オーバーライドされたメソッドを確認する必要があります。
Implements
:- クラスの抽象メソッドを確認して確認する必要があります。それ以外の場合、そのクラスは Abstract クラスになります
。
そのような反射は必要ありません。
java.lang.Class APIを使用する
Class clsObj = Class.forName("yourclas");
のような方法、
getModifiers();
getSuperClass();
getInterfaces();