關於Java的import
其實,package 名稱就像是我們的姓,而 class 名稱就像是我們的名字。package 名稱有很多 . 的,就好像是複姓。比如説 ng,就是複姓 ,名字為 String 的類別;tStream 則是複姓
,名字為 InputStream 的類別。
Java 會使用 package 這種機制的原因也非常明顯,就像我們取姓名一樣,光是一間學校的同一屆同學中,就有可能會出現不少同名的同學,如果不取姓的話,那學校在處理學生數據,或是同學彼此之間的稱呼,就會發生很大的困擾。相同的,全世界的 Java 類別數量,恐怕比台灣人口還多,而且還不斷的在成長當中,如果類別不使用套件名稱,那在用到相同名稱的不同類別時,就會產生極大的困擾。幸運的是,Java 的套件名稱我們可以自己取,不像人的姓沒有太大的選擇 ( 所以有很多同名同姓的 ),如果依照 Sun 的規範來取套件名稱,那理論上不同人所取的套件名稱不會相同 ( 請參閲 "命名慣例"的相關文章 ),也就不會發生名稱衝突的情況。
可是問題來了,因為很多套件的名稱非常的長,在寫程序時,會多打好多字,花費不少時間,比如説:
tStream is = ;
tStreamReader isr= new tStreamReader(is);
eredReader br = new eredReader(isr);
實在是不美觀又麻煩。於是,Sun 想了一個辦法,就是 import。
這個 import 就是在程序一開頭的時候,先説明程序中會用到那些類別的.
簡稱,也就是隻稱呼名字,不稱呼他的姓。首先,在檔案開頭寫:
import em;
import tStream;
import tStreamReader;
import eredReader;
這幾行説明了這四個姓名的類別,在程序中只用他的名字來稱呼,所以當程序中提到 System 就是指 em,而 InputStream 就是指 tStream,依此類推。於是原來的程序就變成:
InputStream = ;
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
這樣看起來是不是清爽多了呢?如果這些類別用的次數很多,那就更能體會到import 的好處了。可是這樣還是不夠,因為懶是人的天性,還是會有人覺得打太多 import 了也很浪費時間,於是 Sun 又提供了一個方法:
import .*;
import .*;
意思就是,等一下程序中提到的沒有姓名的類別,不是姓 ,就是姓,如果這兩個裏面有同樣名字的類別,而不幸的你又只用名字稱呼這個類別,那編譯器仍然會跟你抱怨,因為它還是不知道你説的這個類別指那一
個姓的類別。那可不可以再懶一點呢,只寫:
import java.*;
歷史告訴我們,人可以懶,但不能太懶,這樣是不行的。因為那些類別是姓 而不是姓 java。就像姓『諸葛』的人應該不會喜歡你稱他為『諸』先生吧。
為甚麼我一開始説 import 跟 #include 不同呢?因為 import 的功能到此為止,它不像 #include 一樣,會將檔案內容載入進來。import 只是請編譯器幫你打字,讓編譯器把沒有姓的類別加上姓,並不會把別的文件的程式碼寫進來。如果你想練習打字,可以不要使用 import,只要在用到類別的時候,用它的全部姓名來稱呼它就行了(就像例子一開始那樣),跟使用 import 完全沒有甚麼兩樣。
另外,雖然人不可以太懶,但是 Sun 還是幫我們多偷了一點懶。因為 這個套件實在是太常太常太常用到了,幾乎沒有程序不用它的,所以不管你有沒有寫 import ;,編譯器都會自動幫你補上,也就是説編譯器只要看到沒有姓的類別,它就會自動去 裏面找找看,看這個類別是不是屬於這個套件的。所以我們就不用特別去import 了。
-
sun認證考試:j2ee學習方法摘要
JAVA語言學習是sun認證考試中的主要程序語言,那麼你知道j2ee語言的學習方法嗎?下面yjbys小編為大家分享,僅供參考!目前JAVA主要分三個方向:J2EE(java2enterpriseedition,也就是JAVA的企業級標準,目前應用最多也最廣泛,技術相對成熟)、J2ME(java2microediton,java在微...
-
2017年SUN認證考試流程詳解
Sun在UNIX領域一直是技術上和市場佔有率的領先者;近年來又推出Java技術,更成為業界的標準。下面是小編整理的'關於SUN認證考試流程詳解,歡迎大家參考!SUN認證基本知識Sun推出的專業認證包括下列三種:SUN認證種類Java認證考試關於Java方面,Sun推出四項認證:SunCerti...
-
如何在Java處理PFX格式證書
公鑰加密技術12號標準(PublicKeyCryptographyStandards#12,PKCS#12)為存儲和傳輸用户或服務器私鑰、公鑰和證書指定了一個可移植的格式。它是一種二進制格式,這些文件也稱為PFX文件。開發人員通常需要將PFX文件轉換為某些不同的格式,如PEM或JKS,以便可以為使用SSL...
-
sun認證java程序員考試題庫
sun公司名稱的由來很多人不知道,它其實是斯坦福大學校園網(StanfordUniversityNetwork)的首字母縮寫。下面是小編整理的sun認證java程序員考試題庫,歡迎大家參考!1.下列哪項不是JDK所包含的內容?(選一項)編程語言B.工具及工具的APIEE擴展API平台虛擬機2.下列關於...