日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

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

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

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

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

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


<