<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Java的import

    時間:2024-10-27 12:32:42 SUN認證 我要投稿
    • 相關(guān)推薦

    關(guān)于Java的import

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

      java.io,名字為 InputStream 的類別。

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

      可是問題來了,因為很多套件的名稱非常的長,在寫程序時,會多打好多字,花費不少時間,比如說:

      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);

      實在是不美觀又麻煩。于是,Sun 想了一個辦法,就是 import。

      這個 import 就是在程序一開頭的時候,先說明程序中會用到那些類別的

      簡稱,也就是只稱呼名字,不稱呼他的姓。首先,在檔案開頭寫:

      import java.lang.System;

      import java.io.InputStream;

      import java.io.InputStreamReader;

      import java.io.BufferedReader;

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

      InputStream = System.in;

      InputStreamReader isr = new InputStreamReader(is);

      BufferedReader br = new BufferedReader(isr);

      這樣看起來是不是清爽多了呢?如果這些類別用的次數(shù)很多,那就更能體會到import 的好處了。可是這樣還是不夠,因為懶是人的天性,還是會有人覺得打太多 import 了也很浪費時間,于是 Sun 又提供了一個方法:

      import java.lang.*;

      import java.io.*;

      意思就是,等一下程序中提到的沒有姓名的類別,不是姓 java.lang,就是姓java.io,如果這兩個里面有同樣名字的類別,而不幸的你又只用名字稱呼這個類別,那編譯器仍然會跟你抱怨,因為它還是不知道你說的這個類別指那一

      個姓的類別。那可不可以再懶一點呢,只寫:

      import java.*;

      歷史告訴我們,人可以懶,但不能太懶,這樣是不行的。因為那些類別是姓 java.io 而不是姓 java。就像姓『諸葛』的人應(yīng)該不會喜歡你稱他為『諸』先生吧。

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

      另外,雖然人不可以太懶,但是 Sun 還是幫我們多偷了一點懶。因為java.lang 這個套件實在是太常太常太常用到了,幾乎沒有程序不用它的,所以不管你有沒有寫 import java.lang;,編譯器都會自動幫你補上,也就是說編譯器只要看到?jīng)]有姓的類別,它就會自動去 java.lang 里面找找看,看這個類別是不是屬于這個套件的。所以我們就不用特別去import java.lang了。

    【Java的import】相關(guān)文章:

    學(xué)習(xí)Java的技巧03-05

    java習(xí)題及答案03-26

    JAVA認證簡介03-19

    Java入門基礎(chǔ)知識:Java IO(輸入/輸出)03-07

    JAVA認證開源技術(shù):關(guān)于Java的對象equals方法03-04

    sun認證java程序員須知Java日志框架03-30

    JAVA認證基礎(chǔ)知識:Java獲取當(dāng)前的系統(tǒng)時間03-18

    Java內(nèi)存溢出的類型03-20

    java認證考試介紹03-19

    主站蜘蛛池模板: 伊人精品视频在线| 99在线精品视频在线观看| 孩交VIDEOS精品乱子| 精品无码一级毛片免费视频观看| 91精品啪在线观看国产| 亚洲精品V欧洲精品V日韩精品| 国产精品网址在线观看你懂的| HEYZO无码综合国产精品227| 欧美日韩国产精品 | 久久99精品国产麻豆婷婷| 欧美精品在线一区| .精品久久久麻豆国产精品| 久久精品国产99久久久 | 亚洲国产精品成人| 欧美日韩国产精品| 久久精品国产一区二区三区不卡| 99久久精品免费看国产一区二区三区| 99久久99这里只有免费费精品| 日韩欧精品无码视频无删节| 一本精品中文字幕在线| 日本精品一区二区三区在线视频| 国产精品福利区一区二区三区四区| 国内精品久久久久久野外| 国产成人精品电影在线观看| 久久久久99精品成人片欧美| 亚洲AV无码久久精品成人| 伊人久久精品无码二区麻豆| 亚洲精品视频免费| 久久精品成人| 人妻一区二区三区无码精品一区| 久久精品国产精品亜洲毛片| 久久久精品波多野结衣| 欧美激情视频精品一区二区| 精品中文高清欧美| 青青青青久久精品国产h久久精品五福影院1421| 国产精品亚洲mnbav网站| 国产午夜精品久久久久九九电影| 国产精品色视频ⅹxxx| 成人精品在线视频| 狠狠精品久久久无码中文字幕| 国产成人精品怡红院在线观看|