2
假設我通過使用Class.forName("Foo")
動態加載類來獲得Class
對象。 Foo
在這種情況下是抽象的,所以我不能打電話給newInstance()
就可以了。 (How)是否可以聲明Foo
的具體子類?以Java爲子類動態加載的類
假設我通過使用Class.forName("Foo")
動態加載類來獲得Class
對象。 Foo
在這種情況下是抽象的,所以我不能打電話給newInstance()
就可以了。 (How)是否可以聲明Foo
的具體子類?以Java爲子類動態加載的類
你聲明它不是抽象的,例如
class Bar extends Foo {
// implement methods are required.
}
總之,只是因爲你加載的類動態並不意味着規則的改變;)
富不可用在編譯時
如果你不」在編譯時沒有Foo,你仍然需要有一個這個類的子類,它是具體創建它的。要做到這一點,你有兩個選擇。
我懷疑第一個選項是你需要的,因爲除非爲你提供了一個子類,否則你仍然需要爲抽象方法生成代碼。
'Foo'在編譯時不可用,所以我不能編寫上面的代碼。編譯器抱怨:「找不到符號:class Foo」。 – badweather
@badweather,這只是一個例子。你必須首先聲明'Foo'類。 –
@badweather我已根據您的評論添加了詳細信息。 –