何らかの形でコンパイル時に classType が抽象型を指していることを確認することは可能ですか? 実行時チェックを行うことができます:
void foo(Class<? extends SubType> classType) {
Modifier.isAbstract(classType.getModifiers());
}
foo(AbstractType.class); // this should pass
foo(NotAbstractType.class); // this should fail
コンパイル時に同じことができたら?