- Java面向對象軟件開發
- 姚駿屏 汪衛星主編
- 1156字
- 2018-12-29 19:04:14
2.1.2 Java中的包
請設想這么一個情景,在創造的軟件世界中,如果存在著一個地球和一個有人的外星球,他們上面都存在“人”類,但他們絕對不是同一類。如果同樣用人類來描述他們,當我們作為造物主要讓人類去做什么事情的時候,計算機是沒法知道你到底想讓哪種人去做事的。此時的解決方案有兩種,一是給兩種人類取不同的類名,如“地球人類”、“外星人類”,二是加上一個定語地球上的“人類”、外星上的“人類”。第二種方式保留了相同的類名而不至于混淆。Java也提供了這樣一種類似于加定語的機制,可把類名空間分成更易管理的塊,這種機制就是包,比如上面例子里我們就分了兩個包:地球包、外星包,兩個包中的類可以同名,但同一個包中的類的名字卻必須唯一。另外包也體現封裝性,地球包中肯定裝的是和地球有關的類,這樣更便于管理。
Java包(package)就是具有一定相關性的Java文件的集合。包還有助于避免命名沖突,和文件夾類似,一個文件夾不能放兩個相同文件名的文件,而設定多個文件夾就可以解決這個問題,包我們也可以理解為Java中的文件夾。
1.創建包
在Eclipse中,如圖2-2所示,在工程中執行“New”→“Package”命令就能創建出一個包。而圖2-3即為創建好的一個取名為common的包。

圖2-2 新建一個包

圖2-3 已經創建好的common包
如果此時我們進入源代碼所在的硬盤中,也同樣能發現src文件夾下也出現了一個名為common的文件夾。
2.在包中創建類
我們可以新建一些類放到包中,如果是用Ecliplse進行創建包操作,當打開創建好的類的時候會發現在這個類文件的最上面出現了如下面的一段文字:
package [包名1[.包名2[.包名3...]]] ;
關鍵字package說明該類存在于其后所跟的包中,而這個包允許有多重子包,就如同文件夾下面可以存在子文件夾一般。各級包名之間用“.”號分隔,最前面的包就為最上層包。
編碼規范提示:
按照包名的書寫規范,通常包名的字母全部小寫。
在Java程序中,package語句必須是Java源文件的第一條語句(空格、注釋語句除外),以用來指明該文件所定義的類或接口所屬的包。
3.使用包
將類組織到包中的主要目的是為了更好地利用包中的類。如果我們想在某個包中的類中再使用其他包中的類該怎么辦呢?在Java程序中,若需要使用其他包中的類或接口,一種方法是在程序的開始部分寫出相應的引入(import)語句,指出要引入哪些包的哪些類。另一種方法不用引入語句,直接在要引入的類和接口前給出其所在包名。
(1)使用import語句
import語句的格式與意義如下:
import包名1[…].類名或接口名;// 引入指定包中的類或接口 import包名1[.包名2[…]].*; // 引入指定包或子包中的全部類和接口
例如:下面一行語句就是將java.util包里的ArrayList類引用進來。
import java.util.ArrayList;
如果需要引用整個包內所有的類及接口時,就使用*號:
import java.util.*;
當將類引入以后,就可以直接使用該類了。
(2)直接使用包
這種方法一般用在程序中引用類次數較少的時候,在要引入的類和接口前直接給出其所在包名。例如:要引入java.util包里的ArrayList類也可寫成如下語句:
java.util.ArrayList list=new java.util.ArrayList();
- 多媒體CAI課件設計與制作導論(第二版)
- Spring 5.0 By Example
- Java高手真經(高級編程卷):Java Web高級開發技術
- Learning Neo4j 3.x(Second Edition)
- Learning Hunk
- Go并發編程實戰
- Unreal Engine 4 Shaders and Effects Cookbook
- Linux:Embedded Development
- MATLAB for Machine Learning
- SQL Server從入門到精通(第3版)
- Java系統化項目開發教程
- Scala Data Analysis Cookbook
- 大話Java:程序設計從入門到精通
- Python編程:從入門到實踐(第3版)
- jQuery技術內幕:深入解析jQuery架構設計與實現原理