是否有任何方法替代(重寫)一個Java類實現,該實現已由另一個實現(可作爲字節數組使用)由System類加載器加載?在運行時替換(覆蓋)類實現(Java)
爲說明我的疑問,跟隨該碼:
public class Main {
public static void main(String ... args) {
Foo foo = new Foo();
foo.print();
ClassLoader cl = ...
Foo foo2 = (Foo) cl.newInstance();
foo2.print();
}
}
第一富打印「執行1」的打印()方法,如第二個打印「實施2」。 foo的第二個實例由類加載器從字節數組中檢索(可以存儲在文件中,或者從任何流中獲取...)
PS:是Foo是類的要求,而不是一個接口,並且不能被擴展,即,定義類實現的實際字節(VM內部)被覆蓋。
你是否確實想要這樣做?這將是很好的解釋爲什麼在這個問題上。 – 2009-11-05 20:41:48