首頁技術文章正文

Java面試題之Class.forName的作用

更新時間:2017-12-29 來源:黑馬程序員 瀏覽量:

按參數中指定的字符串形式的類名去搜索并加載相應的類,如果該類字節(jié)碼已經被加載過,則返回代表該字節(jié)碼的Class實例對象,否則,按類加載器的委托機制去搜索和加載該類,如果所有的類加載器都無法加載到該類,則拋出ClassNotFoundException。加載完這個Class字節(jié)碼后,接著就可以使用Class字節(jié)碼的newInstance方法去創(chuàng)建該類的實例對象了。

有時候,我們程序中所有使用的具體類名在設計時(即開發(fā)時)無法確定,只有程序運行時才能確定,這時候就需要使用Class.forName去動態(tài)加載該類,這個類名通常是在配置文件中配置的,例如,spring的ioc中每次依賴注入的具體類就是這樣配置的,jdbc的驅動類名通常也是通過配置文件來配置的,以便在產品交付使用后不用修改源程序就可以更換驅動類名。


本文版權歸黑馬程序員JavaEE學院所有,歡迎轉載,轉載請注明作者出處。謝謝!

作者:黑馬程序員JavaEE培訓學院

首發(fā):http://java.itheima.com/

分享到:
在線咨詢 我要報名
和我們在線交談!