java反射機制的實質,以及泛型的實質,還有對象動態生成以及避開編譯過程生成對象的好處。對于反射機制來說,java提供了很多滿足以前實現不了的方法。動態生成對象,巧妙地避開了java文件編譯的錯誤。我記得JDBC連接數據庫的時候獲取驅動對象就是這樣的。Class.forName();
1 回答
已采納

AJohnson
TA貢獻10條經驗 獲得超8個贊
Java反射機制實質是主要是指程序可以訪問,檢測和修改它本身狀態或行為的一種能力,并能根據自身行為的狀態和結果,調整或修改應用所描述行為的狀態和相關的語義。(說白了就是一個人從家出門走在大街上觀察自己的形象是否良好,如果領帶歪了用手整整領帶,皮鞋臟了,拿紙蹲下把皮鞋擦干凈,那個人可以檢查自己本身的狀態是否最得體,不得體就修改自身變得得體)
java 的泛型,只是編譯時作為類型檢查,一旦編譯完成,泛型就會被擦除,在運行期間是得不到泛型的信息的,包括它的類型參數。有時候我們需要用到泛型的類型參數,反射看起來是取不到的,因反射在運行期間執行,但那時已無泛型的信息。(說白了就是你上臺表演節目幕布拉開前你還在找棍子類型的道具(而不是球類的道具也不是方塊類的,是棍子類型的道具),找道具這個行為就是編譯檢查泛型的過程,準確找到棍子類的道具,幕布拉開你上臺了,觀眾是不會知道你有找道具這個過程,也就是你表演的時候,找道具這個過程已經消失。)
動態創建對象是在運行時完成的,而靜態是在編譯時完成的,動態創建的對象所占的內存可以回收,而靜態不可以。
(說白了就是動態的比靜態高級,運行時創建對象就繞過了編譯器的檢查,在運行過程中創建對象,覺得自己特別屌,用完還可以消失。)
添加回答
舉報
0/150
提交
取消