久草成人在线视频,欧美激情视频网,级别免费毛片在线看,中文字幕色婷婷在线视频,亚洲天堂成人在线,久久亚洲婷,日本黄色网址在线免费

javaimport、package作用與用法

上傳人:go****ng 文檔編號(hào):142143059 上傳時(shí)間:2022-08-24 格式:DOC 頁數(shù):4 大小:21.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
javaimport、package作用與用法_第1頁
第1頁 / 共4頁
javaimport、package作用與用法_第2頁
第2頁 / 共4頁
javaimport、package作用與用法_第3頁
第3頁 / 共4頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《javaimport、package作用與用法》由會(huì)員分享,可在線閱讀,更多相關(guān)《javaimport、package作用與用法(4頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、java import、package作用與用法 有些人寫了一陣子Java,可是對(duì)于Java的package跟import還是不太了解。很多人以為java源代碼中的import會(huì)讓編譯器把所import的程式通通寫到編譯好的.class 檔案中,或是認(rèn)為import跟C/C++的#include 相似,實(shí)際上這是錯(cuò)誤的觀念。 讓我們先了解一下,Java的package到底有何用處。 package名稱就像是我們的姓,而class名稱就像是我們的名字。package名稱有很多.的,就好像是復(fù)姓。比如說java.lang.String就是復(fù)姓 java.lang,名字為String的類別;j

2、ava.io.InputStream 則是復(fù)姓java.io,名字為InputStream 的類別。 Java 使用package這種機(jī)制的原因很簡單,就像我們?nèi)⌒彰粯?,光是一間學(xué)校的同一屆同學(xué)中,就有可能會(huì)出現(xiàn)不少同名的同學(xué),如果不取姓的話,那學(xué)校在處理學(xué)生資料,或是同學(xué)彼此之間的稱呼,就會(huì)發(fā)生很大的困擾。相同的,全世界的Java類別數(shù)量,恐怕比中國一個(gè)省的人口還多,而且還不斷地在成長當(dāng)中,如果類別不使用套件名稱,那在用到相同名稱的不同類別時(shí),就會(huì)產(chǎn)生極大的困擾。幸運(yùn)的是,Java 的套件名稱我們可以自己取,不像人的姓沒有太大的選擇 ( 所以有很多同名同姓的 ),如果依照Sun的規(guī)范來取

3、套件名稱,那理論上不同人所取的套件名稱不會(huì)相同( 請參閱 "命名慣例"的相關(guān)文章 ),也就不會(huì)發(fā)生名稱沖突的情況??墒菃栴}來了,因?yàn)楹芏嗵准拿Q非常長,在寫程序時(shí)會(huì)多打好多字,花費(fèi)不少時(shí)間,比如說: java.io.InputStream is = java.lang.System.in; java.io.InputStreamReader isr= new java.io.InputStreamReader(is); java.io.BufferedReader br = new java.io.BufferedReader(isr); 實(shí)在是不美觀又麻煩。于是,Sun 想了一個(gè)辦

4、法,就是 import。這個(gè) import 就是在程序一開頭的時(shí)候,先說明程式中會(huì)用到那些類別的簡稱,也就是只稱呼名字,不稱呼他的姓。首先,在檔案開頭寫: import java.lang.System; import java.io.InputStream; import java.io.InputStreamReader; import java.io.BufferedReader; 這幾行說明了這四個(gè)姓名的類別,在程序中只用他的名字來稱呼,所以當(dāng)程式中提到 System 就是指 java.lang.System,而 InputStream 就是指java.io.InputStr

5、eam,依此類推。于是原來的程序就變成: InputStream is = System.in; InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); 這樣看起來是不是清爽多了呢?如果這些類別用的次數(shù)很多,那就更能體會(huì)到import 的好處了。可是這樣還是不夠,因?yàn)閼惺侨说奶煨裕€是會(huì)有人覺得打太多import了也很浪費(fèi)時(shí)間,于是 Sun 又提供了一個(gè)方法: import java.lang.*; import java.io.*; 意思就是

6、,等一下程式中提到的沒有姓名的類別,不是姓 java.lang,就是姓java.io,如果這兩個(gè)里面有同樣名字的類別,而不幸的你又只用名字稱呼這個(gè)類別,那編譯器仍然會(huì)跟你抱怨,因?yàn)樗€是不知道你說的這個(gè)類別指哪一個(gè)姓的類別。那可不可以再懶一點(diǎn)呢,只寫: import java.*; 歷史告訴我們,人可以懶,但不能太懶,這樣是不行的。因?yàn)槟切╊悇e是姓java.io 而不是姓java。就像姓『諸葛』的人應(yīng)該不會(huì)喜歡你稱他為『諸』先生吧。 為什么我一開始說import跟#include不同呢?因?yàn)閕mport的功能到此為止,它不像#include一樣,會(huì)將檔案內(nèi)容載入進(jìn)來。import只是請編

7、譯器幫你打字,讓編譯器把沒有姓的類別加上姓,并不會(huì)把別的檔案的程序代碼寫進(jìn)來。如果你想練習(xí)打字,可以不要使用import,只要在用到類別的時(shí)候,用它的全部姓名來稱呼它就行了(就像例子一開始那樣),跟使用import 完全沒有什么兩樣。 另外,雖然人不可以太懶,但是Sun還是幫我們多偷了一點(diǎn)懶。因?yàn)閖ava.lang這個(gè)套件實(shí)在是太常太常太常用到了,幾乎沒有程序不用它的,所以不管你有沒有寫import java.lang;,編譯器都會(huì)自動(dòng)幫你補(bǔ)上,也就是說編譯器只要看到?jīng)]有姓的類別,它就會(huì)自動(dòng)去java.lang里面找找看,看這個(gè)類別是不是屬于這個(gè)套件的。所以我們就不用特別去import ja

8、va.lang了。 import導(dǎo)入聲明可分為兩種: 1> 單類型導(dǎo)入(single-type-import) 例:import java.util.ArrayList; 2> 按需類型導(dǎo)入(type-import-on-demand) 例:import java.util.*; 以這樣兩種方式導(dǎo)入包中的任何一個(gè)public的類和接口(只有public類和接口才能被導(dǎo)入)。 *導(dǎo)入聲明僅導(dǎo)入類型而不導(dǎo)入子包;這就是為什么稱它們?yōu)閱晤愋蛯?dǎo)入和按需類型導(dǎo)入聲明的原因。 *導(dǎo)入的類或接口的簡名(simple name)具有編譯單元作用域.這表示該類型簡名可以在導(dǎo)入語句所在的

9、編譯單元的任何地方使用。這并不意味著你可以使用該類型所有成員的簡名,而只能使用類型自身的簡名。例如: java.lang包中的public類都是自動(dòng)導(dǎo)入的,包括Math和System類.但是,你不能使用簡名PI()和gc(),而必須使用Math.PI()和System.gc().你不需要鍵入的是 java.lang.Math.PI()和java.lang.System.gc() 程序員有時(shí)會(huì)導(dǎo)入當(dāng)前包或java.lang包,這是不需要的,因?yàn)楫?dāng)前包的成員本身就在作用域內(nèi),而java.lang包是自動(dòng)導(dǎo)入的.java編譯器會(huì)忽略這些冗余導(dǎo)入聲明(redundant import declar

10、ations).即使像這樣 import java.util.ArrayList; import java.util.*; 多次導(dǎo)入,也可編譯通過.編譯器會(huì)將冗余導(dǎo)入聲明忽略. 使用按需導(dǎo)入聲明是否會(huì)降低Java代碼的執(zhí)行效率?絕對(duì)不會(huì)! Java編譯器產(chǎn)生的類文件僅包含編譯單元實(shí)際使用到的類或接口的符號(hào)引用.這是否意味著你總是可以使用按需導(dǎo)入聲明? 是,也不是!在類似Demo的非正式開發(fā)中使用按需導(dǎo)入聲明顯得很有用.然而,有這四個(gè)理由讓你可以放棄這種聲明: 1>編譯速度 在一個(gè)很大的項(xiàng)目中,它們會(huì)極大的影響編譯速度.但在小型項(xiàng)目中使用在編譯時(shí)間上可以忽略不計(jì).

11、2>命名沖突 解決避免命名沖突問題的答案就是使用全名.而按需導(dǎo)入恰恰就是使用導(dǎo)入聲明初衷的否定. 3>說明問題 全名的使用是自說性的.畢竟高級(jí)語言的代碼是給人看的. 4>無名包問題 如果在編譯單元的頂部沒有包聲明,Java編譯器首選會(huì)從無名包中搜索一個(gè)類型,然后才是按需類型聲明.如果有命名沖突就會(huì)產(chǎn)生問題.Sun的工程師一般不使用按需類型導(dǎo)入聲明.這你可以在他們的代碼中找到:在java.util.Properties類中的導(dǎo)入聲明: import java.io.IOException; import java.io.printStream; import java.io.printWrite; import java.io.InputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.util.Hashtable; 你可以看到有趣的是,他連java.util.Hashtable也導(dǎo)入,這可是在當(dāng)前包中啊!

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!