假设我通过使用Class
动态加载类来获取Class.forName("Foo")
对象。在这种情况下,Foo
是抽象的,因此我无法在其上调用newInstance()
。 (如何)可以声明Foo
的具体子类?
答案 0 :(得分:1)
你声明它不是抽象的,例如。
class Bar extends Foo {
// implement methods are required.
}
简而言之,仅仅因为您动态加载了类并不意味着规则发生了变化;)
Foo在编译时不可用
如果在编译时没有Foo,则仍需要具有此类的子类,这是创建它的具体方法。要做到这一点,你有两个选择。
我怀疑第一个选项是你需要的,因为除非为你提供了一个子类,你仍然需要为抽象方法生成代码。