摘要:使用包這種機(jī)制是為了防止命名沖突,訪問(wèn)控制,提供搜索和定位類接口枚舉和注釋等。包的作用把功能相似或相關(guān)的類或接口組織在同一個(gè)包中,方便類的查找和使用。包的導(dǎo)入為了能夠使用某一個(gè)包的成員,我們需要在程序中明確導(dǎo)入該包。
概念
包指的是一個(gè)程序的目錄。在最早的時(shí)候如果要開(kāi)發(fā)一個(gè)程序,只需要定義個(gè)*.java文件,然后再該文件中編寫所需的類,編譯之后程序?qū)⒅苯颖4嬖诋?dāng)前目錄下,而利用包可以實(shí)現(xiàn)同一個(gè)程序的拆分。
為了更好地組織類,Java 提供了包機(jī)制,用于區(qū)別類名的命名空間。
Java 使用包(package)這種機(jī)制是為了防止命名沖突,訪問(wèn)控制,提供搜索和定位類(class)、接口、枚舉(enumerations)和注釋(annotation)等。為這些類型提供訪問(wèn)保護(hù)和命名空間管理的功能。
包語(yǔ)句的語(yǔ)法格式為:
package pkg1[.pkg2[.pkg3…]];
示例:
package net.java.util; public class hello{ public static void main(String args[]){ System.out.println("hello world"); } }
那么它的路徑應(yīng)該是 net/java/util/hello.java 這樣保存的。 package(包) 的作用是把不同的 java 程序分類保存,更方便的被其他 java 程序調(diào)用。
最好不要自己手工創(chuàng)建這些目錄,應(yīng)該使用命令自動(dòng)生成,如下:
編譯: javac -d . hello.java
“-d”:表示生成目錄,根據(jù)package的定義生成。
“.” :表示保存的路徑,如果為"."表示在當(dāng)然所在的路徑下生成。
類都應(yīng)當(dāng)定義在包中,那么完整的類名就是:"包.類"。
包的作用把功能相似或相關(guān)的類或接口組織在同一個(gè)包中,方便類的查找和使用。
如同文件夾一樣,包也采用了樹(shù)形目錄的存儲(chǔ)方式。同一個(gè)包中的類名字是不同的,不同的包中的類的名字是可以相同的,當(dāng)同時(shí)調(diào)用兩個(gè)不同包中相同類名的類時(shí),應(yīng)該加上包名加以區(qū)別。因此,包可以避免名字沖突。
包也限定了訪問(wèn)權(quán)限,擁有包訪問(wèn)權(quán)限的類才能訪問(wèn)某個(gè)包中的類。
包的導(dǎo)入為了能夠使用某一個(gè)包的成員,我們需要在 Java 程序中明確導(dǎo)入該包。使用 import 語(yǔ)句可完成此功能。
在 java 源文件中 import 語(yǔ)句應(yīng)位于 package 語(yǔ)句之后,所有類的定義之前,可以沒(méi)有,也可以有多條,其語(yǔ)法格式為:
import package1[.package2…].(classname|*);
使用“包.*”通配符,表示導(dǎo)入程序里面所需要的類,而不是全部導(dǎo)入。
如果在一個(gè)包中,一個(gè)類想要使用本包中的另一個(gè)類,那么該包名可以省略。
常用系統(tǒng)包java.lang: 包含了String、object、Interger等類。從jdk1.1之后,此包會(huì)自動(dòng)導(dǎo)入。
java.lang.reflect:反射包;
java.util: java的工具包,提供了大量工具類。
java.util.regex: 正則工具包。
java.text: 國(guó)際化處理包。
java.io: 進(jìn)行輸入、輸出處理,以及文件處理。
java.net: 網(wǎng)絡(luò)編程開(kāi)發(fā)包。
java.sql: 數(shù)據(jù)庫(kù)程序開(kāi)發(fā)包。
java.applet: Applet程序開(kāi)發(fā)包,已廢棄。Applet是嵌套在網(wǎng)頁(yè)上的java程序,采用繪圖的方式完成網(wǎng)頁(yè)的顯示,實(shí)現(xiàn)一些動(dòng)態(tài)效果,隨著時(shí)間的發(fā)展已經(jīng)不再使用了。
java.awt、javax.swing:圖形界面開(kāi)發(fā)包。主要進(jìn)行單機(jī)版程序界面開(kāi)發(fā)。
jdk1.0的時(shí)候推出了awt開(kāi)發(fā)包,但是該包大量使用了windows api,導(dǎo)致程序缺乏可移植性。
jdk1.2的時(shí)候推出了javax.swing開(kāi)發(fā)包,采用了java自己編寫的api,是一個(gè)輕量級(jí)的GUI工具包。
jar 命令在任何一個(gè)項(xiàng)目中肯定會(huì)存在大量的.class文件,如果將這些.class文件直接交付,會(huì)導(dǎo)致文件過(guò)多,而且程序非常沒(méi)有結(jié)果,所以在交付用戶使用之前,會(huì)使用jar命令將包中的class文件壓縮成一個(gè)文件。
生成的jar文件不能直接使用,需要將其文件路徑配置到CLASSPATH中,如果使用第三方j(luò)ar文件,也必須配置。
補(bǔ)充:CLASSPATH是java程序解釋類文件時(shí)所使用的加載路徑。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/77607.html
摘要:可以直接用接口名訪問(wèn)。其他類也稱為外部類。汽車外部類發(fā)動(dòng)機(jī)內(nèi)部類內(nèi)部類的分類內(nèi)部類分為成員內(nèi)部類與局部?jī)?nèi)部類。我們定義內(nèi)部類時(shí),就是一個(gè)正常定義類的過(guò)程,同樣包含各種修飾符繼承與實(shí)現(xiàn)關(guān)系等。并且日常項(xiàng)目的分工也是以包作為邊界。 01final關(guān)鍵字概念 * A: 概述 繼承的出現(xiàn)提高了代碼的復(fù)用性,并方便開(kāi)發(fā)。但隨之也有問(wèn)題,有些類在描述完之后,不想被繼承, ...
摘要:三設(shè)置壓縮包步驟創(chuàng)建構(gòu)建模塊生成發(fā)布?jí)嚎s包安裝包解壓縮后,查看包是否安裝成功包名查看包的位置包名卸載包直接從安裝的目錄下把包目錄刪除即可。安裝卸載第三方模塊第三方包名包管理工具,提供了對(duì)包的查找,下載,安裝,卸載等功能。 一. 模塊定義:每一個(gè)python文件就是一個(gè)模塊模塊名稱的命名要符合標(biāo)識(shí)符命名規(guī)則 導(dǎo)入:使用import 模塊名導(dǎo)入后,使用模塊名.的形式來(lái)訪問(wèn)里面的全局變量,函...
摘要:模塊與包的導(dǎo)入一模塊導(dǎo)入定義模塊,是一個(gè)文件,以結(jié)尾,包含了對(duì)象定義和語(yǔ)句。使用模塊還可以避免函數(shù)名和變量名沖突。特別注意的是自定義的模塊名不應(yīng)該與系統(tǒng)內(nèi)置模塊重名。包是由一系列模塊組成的集合。模塊的導(dǎo)入使用語(yǔ)句。 【Python3】Python模塊與包的導(dǎo)入 一、模塊導(dǎo)入 1. 定義 Python 模塊(Module),是一個(gè) Python 文件,以 .py 結(jié)尾,包含了 Pytho...
摘要:類類的概念在許多語(yǔ)言中出現(xiàn),是面向?qū)ο缶幊痰幕A(chǔ),很容易理解。抽象出不同物體的共同特征,根據(jù)相似性原則,把彼此相似的物體歸于相同的類概念,它將數(shù)據(jù)和操作進(jìn)行封裝,以便將來(lái)的復(fù)用。模塊名就是文件名去掉后綴。包目錄下為首的一個(gè)文件便是。 類 類的概念在許多語(yǔ)言中出現(xiàn),是面向?qū)ο缶幊痰幕A(chǔ),很容易理解。抽象出不同物體的共同特征,根據(jù)相似性原則,把彼此相似的物體歸于相同的類概念, 它將數(shù)據(jù)和操...
閱讀 2557·2021-10-09 09:44
閱讀 650·2019-08-30 15:44
閱讀 3008·2019-08-29 18:46
閱讀 1144·2019-08-29 18:38
閱讀 567·2019-08-26 10:44
閱讀 2445·2019-08-23 16:07
閱讀 1104·2019-08-23 15:38
閱讀 4143·2019-08-23 14:02