六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

package 與 import

[摘要]有些人寫(xiě)了一陣子 Java,可是對(duì)于 Java 的 package 跟 import 還是不太了解。很多人以為原始碼 .java 文件中的 import 會(huì)讓編譯器把所 import 的程序通通寫(xiě)到編譯好的 .class 檔案中,或是認(rèn)為 import 跟 C/C++ 的 #include 相似,...
有些人寫(xiě)了一陣子 Java,可是對(duì)于 Java 的 package 跟 import 還是不太了解。很多人以為原始碼 .java 文件中的 import 會(huì)讓編譯器把所 import 的程序通通寫(xiě)到編譯好的 .class 檔案中,或是認(rèn)為 import 跟 C/C++ 的 #include 相似,實(shí)際上,這是錯(cuò)誤的觀念。

  讓我們先了解一下,Java 的 package 到底有何用處。

  其實(shí),package 名稱(chēng)就像是我們的姓,而 class 名稱(chēng)就像是我們的名字。package 名稱(chēng)有很多 . 的,就好像是復(fù)姓。比如說(shuō) java.lang.String,就是復(fù)姓 java.lang,名字為 String 的類(lèi)別;java.io.InputStream 則是復(fù)姓
  java.io,名字為 InputStream 的類(lèi)別。

  Java 會(huì)使用 package 這種機(jī)制的原因也非常明顯,就像我們?nèi)⌒彰粯樱馐且婚g學(xué)校的同一屆同學(xué)中,就有可能會(huì)出現(xiàn)不少同名的同學(xué),如果不取姓的話,那學(xué)校在處理學(xué)生數(shù)據(jù),或是同學(xué)彼此之間的稱(chēng)呼,就會(huì)發(fā)生很大的困擾。相同的,全世界的 Java 類(lèi)別數(shù)量,恐怕比臺(tái)灣人口還多,而且還不斷的在成長(zhǎng)當(dāng)中,如果類(lèi)別不使用套件名稱(chēng),那在用到相同名稱(chēng)的不同類(lèi)別時(shí),就會(huì)產(chǎn)生極大的困擾。幸運(yùn)的是,Java 的套件名稱(chēng)我們可以自己取,不像人的姓沒(méi)有太大的選擇 ( 所以有很多同名同姓的 ),如果依照 Sun 的規(guī)范來(lái)取套件名稱(chēng),那理論上不同人所取的套件名稱(chēng)不會(huì)相同 ( 請(qǐng)參閱 "命名慣例"的相關(guān)文章 ),也就不會(huì)發(fā)生名稱(chēng)沖突的情況。

  可是問(wèn)題來(lái)了,因?yàn)楹芏嗵准拿Q(chēng)非常的長(zhǎng),在寫(xiě)程序時(shí),會(huì)多打好多字,花費(fèi)不少時(shí)間,比如說(shuō):

   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è)辦法,就是 import。

  這個(gè) import 就是在程序一開(kāi)頭的時(shí)候,先說(shuō)明程序中會(huì)用到那些類(lèi)別的
  簡(jiǎn)稱(chēng),也就是只稱(chēng)呼名字,不稱(chēng)呼他的姓。首先,在檔案開(kāi)頭寫(xiě):

   import java.lang.System;
   import java.io.InputStream;
   import java.io.InputStreamReader;
   import java.io.BufferedReader;

  這幾行說(shuō)明了這四個(gè)姓名的類(lèi)別,在程序中只用他的名字來(lái)稱(chēng)呼,所以當(dāng)程序中提到 System 就是指 java.lang.System,而 InputStream 就是指 java.io.InputStream,依此類(lèi)推。于是原來(lái)的程序就變成:

   InputStream = System.in;
   InputStreamReader isr = new InputStreamReader(is);
   BufferedReader br = new BufferedReader(isr);

  這樣看起來(lái)是不是清爽多了呢?如果這些類(lèi)別用的次數(shù)很多,那就更能體會(huì)到import 的好處了。可是這樣還是不夠,因?yàn)閼惺侨说奶煨裕是會(huì)有人覺(jué)得打太多 import 了也很浪費(fèi)時(shí)間,于是 Sun 又提供了一個(gè)方法:

   import java.lang.*;
   import java.io.*;

  意思就是,等一下程序中提到的沒(méi)有姓名的類(lèi)別,不是姓 java.lang,就是姓java.io,如果這兩個(gè)里面有同樣名字的類(lèi)別,而不幸的你又只用名字稱(chēng)呼這個(gè)類(lèi)別,那編譯器仍然會(huì)跟你抱怨,因?yàn)樗是不知道你說(shuō)的這個(gè)類(lèi)別指那一
  個(gè)姓的類(lèi)別。那可不可以再懶一點(diǎn)呢,只寫(xiě):

   import java.*;

  歷史告訴我們,人可以懶,但不能太懶,這樣是不行的。因?yàn)槟切╊?lèi)別是姓 java.io 而不是姓 java。就像姓『諸葛』的人應(yīng)該不會(huì)喜歡你稱(chēng)他為『諸』先生吧。

  為甚么我一開(kāi)始說(shuō) import 跟 #include 不同呢?因?yàn)?import 的功能到此為止,它不像 #include 一樣,會(huì)將檔案內(nèi)容載入進(jìn)來(lái)。import 只是請(qǐng)編譯器幫你打字,讓編譯器把沒(méi)有姓的類(lèi)別加上姓,并不會(huì)把別的文件的程式碼寫(xiě)進(jìn)來(lái)。如果你想練習(xí)打字,可以不要使用 import,只要在用到類(lèi)別的時(shí)候,用它的全部姓名來(lái)稱(chēng)呼它就行了(就像例子一開(kāi)始那樣),跟使用 import 完全沒(méi)有甚么兩樣。

  另外,雖然人不可以太懶,但是 Sun 還是幫我們多偷了一點(diǎn)懶。因?yàn)閖ava.lang 這個(gè)套件實(shí)在是太常太常太常用到了,幾乎沒(méi)有程序不用它的,所以不管你有沒(méi)有寫(xiě) import java.lang;,編譯器都會(huì)自動(dòng)幫你補(bǔ)上,也就是說(shuō)編譯器只要看到?jīng)]有姓的類(lèi)別,它就會(huì)自動(dòng)去 java.lang 里面找找看,看這個(gè)類(lèi)別是不是屬于這個(gè)套件的。所以我們就不用特別去
  import java.lang 了。




標(biāo)簽:package 與 import 

相關(guān)文章

主站蜘蛛池模板: 天天躁夜夜躁狠狠躁2024 | 欧美一区二区三区黄色 | 亚洲欧美日韩国产精品一区 | 日日干夜夜操 | 日本韩国理论片大全在线 | 在线日韩视频 | 色影音先锋色资源网站 | 午夜在线观看免费 | 日韩中文一区宇都宫紫苑 | 天天干天天操天天碰 | 亚洲最大免费视频网 | 综合久久久久久久 | 色yeye在线观视频 | 日韩小视频网站 | 中文在线最新版天堂bt | 四虎hu| 日韩在线 中文字幕 | 一a一级片 | 在线高清h视频在线观看 | 青青青青青国产免费手机看视频 | 欧美亚洲一区二区三区在线 | 五月婷婷一区 | 中文国产欧美在线观看 | 色播五月婷婷 | 天天综合天天看夜夜添狠狠玩 | 青青91| 中文字幕成人 | 日韩亚洲欧美综合一区二区三区 | 午夜性爽快免费视频播放 | 中文字幕在线乱人伦 | 四虎影永久在线观看精品 | 四虎黄色影院 | 三级自拍视频 | 色无极在线 | 日本午色www高清视频 | 一二三四手机在线观看视频播放 | 青青在线视频免费看观看 | 亚洲成a人片在线观看www | 热热涩热热狠狠色香蕉综合 | 婷婷亚洲综合一区二区 | 亚欧日韩毛片在线看免费网站 |