按參數(shù)中指定的字符串形式的類名去搜索并加載相應(yīng)的類,如果該類字節(jié)碼已經(jīng)被加載過,則返回代表該字節(jié)碼的Class實(shí)例對象,否則,按類加載器的委托機(jī)制去搜索和加載該類,如果所有的類加載器都無法加載到該類,則拋出ClassNotFoundException。加載完這個Class字節(jié)碼后,接著就可以使用Class字節(jié)碼的newInstance方法去創(chuàng)建該類的實(shí)例對象了。
有時候,我們程序中所有使用的具體類名在設(shè)計(jì)時(即開發(fā)時)無法確定,只有程序運(yùn)行時才能確定,這時候就需要使用Class.forName去動態(tài)加載該類,這個類名通常是在配置文件中配置的,例如,spring的ioc中每次依賴注入的具體類就是這樣配置的,jdbc的驅(qū)動類名通常也是通過配置文件來配置的,以便在產(chǎn)品交付使用后不用修改源程序就可以更換驅(qū)動類名。
遠(yuǎn)近互聯(lián)技術(shù)-劉 整理發(fā)布,希望能對同是技術(shù)的你有所幫助。
遠(yuǎn)近互聯(lián)專業(yè)提供網(wǎng)站建設(shè)、APP開發(fā)、網(wǎng)站優(yōu)化、外貿(mào)網(wǎng)站SEO、微信運(yùn)營的品牌整合營銷服務(wù),讓客戶通過網(wǎng)絡(luò)品牌建立與網(wǎng)絡(luò)傳播提高業(yè)績。






