java パッケージ内のすべての抽象クラスを一覧表示する方法はありますか? たとえば、java.lang パッケージで。
質問する
572 次
2 に答える
1
Guava のClassPath
クラスを使用すると、パッケージ内のすべてのトップレベル クラスを一覧表示できます。次に、そのクラスを使用してModifier
、クラスが であるかどうかを調べることができますabstract
。
ここに小さな例があります
public static void main(String[] args) throws IOException {
ClassPath p = ClassPath.from(ClassLoader.getSystemClassLoader()); // might need to provide different ClassLoader
ImmutableSet<ClassInfo> classes = p.getTopLevelClasses("com.example");
for (ClassInfo classInfo : classes) {
Class clazz = classInfo.load();
int modifiers = clazz.getModifiers();
if (Modifier.isAbstract(modifiers)) {
System.out.println("Class '" + clazz.getName() + "' is abstract.");
}
}
}
于 2013-09-29T18:37:02.530 に答える
1
リフレクション経由でパッケージ内のクラスのリストを取得し、次のようにしてクラスが抽象かどうかを確認します
Modifier.isAbstract( theClass.getModifiers() );
于 2013-09-29T18:30:23.030 に答える