亚洲色蝴蝶中文娱乐网,在线亚洲欧美一区二区中文字幕,无人视频在线观看视频高清视频,99午夜国产精品一区二区,人人妻人人爽人人狠狠

Java中用import導(dǎo)入類和用Class方法加載類有什么區(qū)別?

時(shí)間:2020-12-13 11:27:33 類型:JAVA
字號(hào):    

  import僅僅包含導(dǎo)入操作,并不包含將字節(jié)碼文件加載進(jìn)內(nèi)存這一動(dòng)作,將字節(jié)碼文件加載進(jìn)內(nèi)存是后續(xù)的實(shí)例化操作完成的。例如通過import導(dǎo)入了一堆包和類,但是后續(xù)什么都沒用(沒用實(shí)例化),那么導(dǎo)入的東西是不會(huì)被加載進(jìn)內(nèi)存的。而且import是編譯期的,如果你在后續(xù)代碼中沒有使用到你導(dǎo)入的內(nèi)容,那么import語句甚至不會(huì)編譯和執(zhí)行。查看字節(jié)碼文件可以看出,import的作用就是對(duì)你程序中要用到(實(shí)例)的東西進(jìn)行署名(signature),當(dāng)程序運(yùn)行的時(shí)候好知道你實(shí)例化的對(duì)象的類的字節(jié)碼文件去哪里找。

  而Class.forName方法包含的動(dòng)作是:根據(jù)給出的全類名(方法的參數(shù))找到對(duì)應(yīng)的字節(jié)碼文件,并將字節(jié)碼文件通過ClassLoader加載進(jìn)內(nèi)存中生成Class類對(duì)象(方法的返回值就是Class類對(duì)象)。

  這些就是二者的區(qū)別了。


<