java对import语句_Java的import语句 - 不积跬步,无以至千里 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
51Testing軟件測試網]2S+K"rZ/bP*j
程序員可以使用兩種import語句:51Testing軟件測試網o$UN5EQh
3oZc4n f9P"CoQ;T]0單類型導入(single-type-import),例如import java.io.File;aY4X8yZ!D.Hz*]051Testing軟件測試網f/D)E:?
W
按需類型導入(type-import-on-demand),例如 import java.io.*;]f{/[+W,VUK051Testing軟件測試網7`!q:Mbh
關于這兩種導入類型大家各有所愛,眾說紛紜。這里分析一下這兩種導入類型的大致工作原理供大家參考。51Testing軟件測試網]OI^e ?k`#{/dsc51Testing軟件測試網;GPn$DGC
單類型導入比較好理解,僅僅導入一個public類或者接口。而對于按需類型導入,有人誤解為導入一個包下的所有類,其實不然,看名字就知道,他只會按需導入,也就是說它并非導入整個包,而僅僅導入當前類需要使用的類。:\]YND;?0}T o?0
6g@[-s+`:]0既然如此是不是就可以放心的使用按需類型導入呢?非也,非也。因為單類型導入和按需類型導入對類文件的定位算法是不一樣的。java編譯器會從啟動目錄(bootstrap),擴展目錄(extension)和用戶類路徑下去定位需要導入的類,而這些目錄進僅僅是給出了類的頂層目錄。編譯器的類文件定位方法大致可以理解為如下公式:51Testing軟件測試網7r,Kg|NuBX}?K51Testing軟件測試網u*^.G5W*`FW
頂層路徑名 \ 包名 \ 文件名.class = 絕對路徑3C.Wik&|DR9RgO051Testing軟件測試網*P-l1Jq CK#~h/D4j
對于單類型導入很簡單,因為包明和文件名都已經確定,所以可以一次性查找定位。51Testing軟件測試網@} Aur\3N0?51Testing軟件測試網8g8_{*[*R$H)@w:?
對于按需類型導入則比較復雜,編譯器會把包名和文件名進行排列組合,然后對所有的可能性進行類文件查找定位。例如:51Testing軟件測試網gpA~'Hn G)T51Testing軟件測試網_^ s*s^$t
package com;51Testing軟件測試網l:J1L)A/yq*_0u
9h:fw+wi"Se1u0import java.io.*;51Testing軟件測試網+e9E0r0s:HRk5R51Testing軟件測試網0@P0Vr"Y A
import java.util.*;51Testing軟件測試網A;Y~p{#}-J#l pC
${eX)G aT,s,F0當你的類文件中用到了File類,那么可能出現File類的地方如下Wz1?%C?UR0
u+_m3A^-Q0File??\\ File類屬于無名包,就是說File類沒有package語句,編譯器會首先搜索無名包;T9o+~?FaBz0
tL4?'b'~{,y O)m0com.File?\\ File類屬于當前包JnFb5c9l0GGM0
總結
以上是生活随笔為你收集整理的java对import语句_Java的import语句 - 不积跬步,无以至千里 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件安全策略-下
- 下一篇: 三星s10长宽高是多少(三星智能手机)