『壹』 java里的包 是什麼意思 具體怎麼用
包路徑可以簡易理解為文件夾中的文件路徑標志
當你的文件多了難免重名或者一般人習慣將文件按照類型、內容等劃分在不同文件夾內。
包就相當於文件夾,類就是路徑
包路徑就是文件夾路徑
『貳』 JAVA包如何使用
自定義包實際上就是相對項目的一個文件夾路徑。可以項目上右擊,選擇「new」,之後選擇「Package」的形式創建一個文件夾路徑(路徑之間用英文「點」)。
舉例:
創建的包路徑:com.icardpay.business.core.remit.bank.handler.impl;
引用包路徑:import com.icardpay.business.core.remit.bank.handler.impl.*;
『叄』 java的包是怎麼用的哦,請指點下
1.包是對一些具有共性類的封裝,比如說,java.util包,就是把程序員常用的工具類都封裝了起來,所以sun在開發的時候,就有類似如下語句:
package java.util;
當我們使用的時候,便有:
import java.util.*; 或者,
import java.util.List;
2.定義包還有一個好處,就是可以使工作於同一項目不同模塊的程序員命名不沖突,比如:java.sql.Date和java.util.Date是完全不一樣的兩個類;
3.需要注意的一點是,命名包,向類似與java,javax開頭的,是不允許的,它是聲明java包的被sun官方保護的「關鍵字」,程序員不能用;
4.定義包是有哪碧規則的,他或者不出現,要出現必須在類的第一行,他以關鍵字「package」開始,然後後面是包名,包名全部小寫;一般情況下,定義包名都是這樣的,以組織或者機構的代號開頭,加上公司名稱,比如說sun.com.aaa.bb.vvf;或者org.ace.test;
5.在使用一個包的時候,可以使用import關鍵字導入,導入時,如果使用了.*,就表示導入包下的所有類,否茄乎則就要指定類,java.lang包不需要導入,因為他被默認標記為已導入,但是對於java.lang的子包用到時還是要導入的,例如:java.lang.reflect包。如果使用了一個未導入的類,就會報找不到類的錯誤,此時就要導入這李納舉個類,類通常都存在包下,
後者在寫類名的時候,直接寫上包名也是可以的。
夠全面的吧,祝你好運!!
『肆』 java如何導入包
1、首先在項目下創建一個新的文件夾,用來保存jar包。在項目名上點擊滑鼠右鍵,按順序點擊【New】→【Floder】,打開新建文件夾的窗口
『伍』 Java:包有什麼作用如何給類指定包和在其他類中引用包中的類
包的作用應該是統一管理包下的類。
指定包的話在類文件的最上面加上package 包名,引用包可以使用import 包名。
java在一個包中引用默認包中的類,需要使用import關鍵字,導入所需的包,就可以直接使用該包下的類,實例如下:
import secondpackage.ceshi2;//導入默認的包
public class ceshi {
public static void main(String[] args) throws Exception {
ceshi2 ce = new ceshi2();//默認的包中的類
ce.fun();}
(5)java包使用方法擴展閱讀:
類庫可以單獨從第三方軟體商獲得。類庫方法從技術上說並不屬於某種語言。例如String類不是java語言的內建部分,而是java標准類庫的一部分。類庫由幾組相關的類簇構成,通常稱為java API,即應用程序介面。java標准類庫的類被劃分為包,每個類屬於一個具體的包。
程序中如果有package語句,該語句一定是源文件中的第一條可執行語句,它的前面只能有注釋或空行。另外,一個文件中最多隻能有一條package語句。
『陸』 java的包怎麼用啊
你這個程序比較特殊洞滑,因為你加上了package classes; 這句話,就指定了你這個java程序的目錄,所以你要把Nihao.class這個文件放在classes的文件夾里,這樣會比較混亂枯顫亂。
按照我的方法執行就可以運行成功了,而且省去你創建classes文件夾的步驟沒檔:
你在編譯的時候使用以下命令:javac -d . Nihao.java,-d這個參數可以幫你在指定的目錄下生成包,.表示在當前目錄下生成,這個命令執行後你會發現在當前目錄下會多了一個classes的文件夾,裡面就是Nihao.class的編譯後的文件,然後在使用命令java classes.Nihao來運行程序,因為Nihao.class這個文件是在包classes里的,所以運行的時候你要寫它的全名,也就是classes.Nihao,這樣就能運行成功了,你試試看。
『柒』 怎麼在一個java項目中使用自己的包
:如果是加包名的話步驟如下: 1、右鍵項目名,點擊New; 2、選擇Package,在納畝彈出的對話框中選擇加包的位置(Source folder)和輸入包名(Name)洞喚森; 3、之後點擊Finish就完成了。鏈物 如果是添加jar包的話,
『捌』 如何理解和使用Java package包
Java中的一個包就是一個類庫單元,包內包含有一組類,它們在單一的名稱空間之下被組織在了一起。這個名稱空間就是包名。可以使用import關鍵字來導入一個包。例如使用import java.util.*就可以導入名稱空間java.util包裡面的所有類。所謂導入這個包裡面的所有類,就是在import聲明這個包名以後,在接下來的程序中可以直接使用該包中的類。例如:
[java] view plain
import java.util.*
public class SingleImport
{
public static void main(Strin[] args)
{
ArrayList list=nwe ArrayList();
}
}
這里ArrayList就是java.util包中的一個類,但是由於對程序使用了import關鍵字載入了java.util包,所以這里並沒有見到對ArrayList類的定義和聲明,也沒有見到該類前面有什麼限定名,就可以直接使用這個類。
我們之所以要導入包名,就是要提供一個管理名稱空間的機制。我們知道,如果有兩個類A類和B類都含有一個具有相同特徵標記(參數列表)的方法f(),即便在同一段代碼中同時使用這兩個方法f(),也不會發生沖突,原因就在於有兩個不同的類名罩在前面作為限定名,所以兩個方法即便同名也不回發生沖突。但是如果類名稱相互沖突又該怎麼辦呢?假設你編寫了一個Apple類並安裝到了一台機器上,而該機器上已經有一個其他人編寫的Apple類,我們該如何解決呢?因為你如果想弄清楚一台機器上到底已經安裝了那些類,並不是一件很容易的事情,所以名字之間總是有存在潛在的沖突的可能。在Java中對名稱空間進行完全控制並為每個類創建唯一的標識符組合就成為了非常重要的事情。如果你要編寫對於同一台機器上共存的其他Java程序友好的類庫或程序的話,就需要考慮如何防止類名稱之間的沖突問題。
當編寫一個Java源代碼文件時,此文件通常被稱為編譯單元。每個編譯單元都必須有一個後綴名.java,而在編譯單元內有且僅有一個public類,否則編譯器就不會接受。該public類的名稱必須與文件的名稱相同(包括大小寫,但不包括後綴名.java)。如果在該編譯單元之中還有額外的類的話,那麼在包之外的世界是無法看見這些類的,因為它們不是public類,而且它們主要用來為主public類提供支持。
當編譯一個.java文件(即一個編譯單元)時,在.java文件中的每個類都會有一個輸出文件,而該輸出文件的名稱與.java文件中每個類的名稱相同,只是多了一個後綴名.class。因此在編譯少量.java文件之後,會得到大量的.class文件。每一個.java文件編譯以後都會有一個public類,以及任意數量的非public類。因此每個.java文件都是一個構件,如果希望許許多多的這樣的構件從屬於同一個群組,就可以在每一個.java文件中使用關鍵字package。而這個群組就是一個類庫。
如果使用package語句,它必須是.java文件中除注釋以外的第一句程序代碼。如果在文件的起始處寫:
package fruit;
就表示你在聲明該編譯單元是名為fruit的類庫的一部分,或者換句話說,你正在聲明該編譯單元中的public類名稱是位於fruit名稱的保護傘下,由fruit名稱罩著。任何想要使用該public類名稱的人都必須指定全名或者與fruit結合使用關鍵字import。
例如,假設文件的名稱是Apple.java,這就意味著在該文件中有且僅有一個public類,該類的名稱必須是Apple(注意大小寫):
[java] view plain
package fruit;
public class Apple
{
//...
}
上面的代碼已經將Apple類包含在了fruit包中,現在如果有人想使用Apple或者是fruit中的任何其他public類,就必須使用關鍵字import來使fruit中的名稱可用。
[java] view plain
import fruit.*;
public class ImportApple
{
public static void main(String[] args)
{
Apple a=new Apple();
}
}
或者使用完整限定名稱:
[java] view plain
public class QualifiedApple
{
public static void main(String[] args)
{
fruit.Apple a=new fruit.Apple();
}
}
顯然使用關鍵字import使代碼更加簡潔。
作為一名程序員,我們應該牢記:package和import關鍵字允許做的是將單一的全局名稱空間分割成各自獨立封閉的名稱空間,使得無論多少人使用Internet以及Java開始編寫類,都不會出現與我們的類名稱相沖突的問題,因為我們的類是被封閉在我們自己定義的獨立的名稱空間裡面的,而非在公共的全局名稱空間裡面。
到這里也許你會發現,其實所謂關鍵字package打包從未將被打包的東西包裝成一個單一的文件,並且一個包可以由許多.class文件構成,這就存在將兩個名稱相同的類打進一個包中的可能。為了避免這種情況的發生,一種合乎邏輯的做法就是將特定的所有.class文件都置於一個目錄下。也就是說利用操作系統的層次化的文件結構來解決這一問題。這是Java解決混亂問題的一種方式(這里暫且先不討論JAR包工具)。
將所有的文件收入一個子目錄還可以解決另外兩個問題:一、怎樣創建獨一無二的名稱;二、怎樣查找有可能隱藏於目錄結構中某處的類。
這些任務是通過將.class文件所在的路徑位置編碼稱package的名稱來實現的。
按照慣例,package名稱的第一部分是類的創建者的反順序的Internet域名。為什麼要用Internet域名呢?因為如果你遵照慣例,Internet域名應該是獨一無二的,因此你的package名稱也將是獨一無二的,也就是前面提到的我們自定義的獨立封閉的名稱空間將是獨一無二的,這樣就不會出現名稱沖突的問題了。當然,如果你沒有自己的域名,你就得構造一組不大可能與他人重復的組合(例如你的姓名),來創立獨一無二的package名稱。如果你打算發布你的Java程序代碼,稍微花費些代價去取得一個域名還是很有必要的。
另外,如果你的Java程序代碼只是在本地計算機上運行,你還可以把package名稱分解為你機器上的一個目錄。所以當Java程序運行並且需要載入.class文件的時候,它就可以根據package名稱確定.class文件在目錄上的所處位置。
程序在運行的時候具體是如何確定.class文件位置的呢?
來看看Java解釋器的運行過程吧:首先,找出環境變數CLASSPATH(可以通過操作系統來設置)。CLASSPATH包含一個或多個目錄,用作查找.class文件的根目錄。從根目錄開始,解釋器獲取包名稱並將每個句點替換成反斜杠,以從CLASSPATH根中產生一個路徑(例如,package fruit.Apple就變成為fruit/Apple或fruit/Apple或其他,這將取決於操作系統)。得到的路徑會與CLASSPATH中的各個不同的根目錄路徑相連接以獲得一個完整的目錄路徑,解釋器就在這些目錄中查找與你所需要的類名稱相同的.class文件。(此外,解釋器還會去查找某些涉及Java解釋器所在位置的標准目錄。)
為了理解這一點,以域名Food.net為例。把它的順序倒過來,並且全部轉換為小寫,net.food就成了我們創建類的一個獨一無二的名稱空間。如果我們決定再創建一個名為fruit的類庫,我們可以將該名稱進一步細分,於是得到一個包名如下:
package net.food.fruit;
現在,這個包名稱就可以用作下面Apple這個文件的名稱空間保護傘了:
[java] view plain
package net.food.fruit;
public class Apple
{
public Apple()
{
System.out.println("net.food.fruit.Apple");
}
}
這個文件可能被置於計算機系統中的如下目錄中:
C:/DOC/JavaT/net/food/fruit
之所以要放在這個目錄下面是因為前面提到的,便於系統通過CLASSPATH環境變數來找到這個文件。沿著此路徑往回看就能看到包名net.food.fruit,但是路徑的前半部分怎麼辦呢?交給環境變數CLASSPATH吧,我們可以在計算機中將環境變數CLASSPATH設置如下:
CHASSPATH=.;D:/JAVA/LIB;C:/DOC/JavaT
CLASSPATH可以包含多個可供選擇的查詢路徑。每個路徑都用分號隔開,可以看到,上面這個CLASSPATH環境值的第三個路徑就是我們前面文件的根目錄。如前所述,Java解釋器將首先找到這個根目錄C:/DOC/JavaT,然後將其與包名net.food.fruit相連接,連接的時候將包名中的句點轉換成斜杠,就得到完整的class文件路徑C:/DOC/JavaT/net/food/fruit。
需要補充說明的一點,這里CLASSPATH環境變數關照的是package中的class文件,如果關照的是JAR包中的class文件,則會有一點變化,即,必須在CLASSPATH環境變數路徑中將JAR文件的實際名稱寫清楚,而不僅僅是指明JAR包所在位置目錄。可以想像,因為JAR包所在目錄位置上可能存在很多別的JAR包,而我們需要使用的那個class文件只會存在於其中一個JAR包裡面,因此可以這樣理解,這里JAR包實際上也充當了一級文件目錄的角色,因此要在CLASSPATH環境變數中寫清楚JAR包文件名。例如如果Apple文件存在於名為fruit.jar的JAR文件中,則CLASSPATH應寫作:
CLASSPATH=.;D:/JAVA/LIB;C:/DOC/JavaT/net/food/fruit.jar
一旦路徑得以正確建立,下面的文件就可以放於任何目錄之下:
[java] view plain
import net.food.fruit.*;
public class LibTest
{
public static void main(String[] args)
{
Apple a=new Apple();
}
}
當編譯器碰到fruit庫的import語句時,就開始在CLASSPATH所指定的目錄中查找,查找過程中分別將CLASSPATH中設定的各項根目錄與包名轉換來的子目錄net/food/fruit相連接,在連接後的完整目錄中查找已編譯的文件(即class文件)找出名稱相符者(對Apple而言就是Apple.class)。找到了這個文件即匹配到了Apple類。
『玖』 Java 中的包有什麼用怎麼用
Java中的包有這樣的作用:將具有某些相似功能的文件集中存放便於他人使用,達到reuse的目標。
包分為二種,一種是別人開發的第三包,一種是自己開發使用的包。
使用方法分開說:對第三方包,將包先放在工程目錄下,在要用到的java文件中用關鍵字import導入。其中有個包是不是顯式的導入就可以用的,那就是java.lang.*,這個是默認的,也就是說這個包下的類都可以直接拿來用,因為它太常用到了!
對於自己開發使用的包,會使用關鍵字package,舉個例子:
package com.test.example
上面這句就是生成了一個包,其中包是個目錄,這樣說應該會好理解些。
下面舉個例子再說下:
package com.test.example;//將文件打包成com.test.example
import java.util.ArrayList;//將包java.util下的ArrayList類導入
import java.util.List;//將包java.util下的List介面導入
public class TestExample {
public static void main(String[] args) {
List list = new ArrayList();//生成一個ArrayList對象
//使用list的add()方法添加二個元素
list.add(2);
list.add(3);
//將list里的元素列印出來
for(int i=0;i<2;i++){
System.out.println(list.get(i));
}
}
}
編譯時,如果沒有IDE(集成開發工具),那在命令行下進入當前文件的保存位置,使用如下命令進行編譯:
javac -d . TessExample.java
其中-d選項是指生成目錄,「.」表示在當前目錄下生成包(或者說目錄)
執行完後,在當前目錄下會生成如下目錄結構:
com/test/example/TestExample.class
使用如下命令運行剛才寫的類:
java com.test.example.TestExample
將會列印出:
2
3
經過這樣解說,不知你對包的用途與使用有了一絲幫助沒?
『拾』 Java包(Package)的詳細用法
當一個大型程序交由數個不同的程序人員開發時,用到相同的類名是很有緩侍姿可能的,那麼如果發生了這樣的事件我們該怎麼辦那?,在我們java程序開發中為了避免上述事件,提供了一個包的概念(package),那麼既然有了這樣一種方法能避免上述事件,那麼我們怎樣使用package那?,使用方法很簡單我們只需要在我們寫的程序第一行使用package關鍵字來聲明一個包就行了,例如我們來聲明一個名為pack1的包名,package pack1;好了下面我們就利用範例來說明package的使用方法,及其編譯運行的方法,
假設我們在d盤下的新建一個文件(pack1),在pack1文件內包含兩個java程序一個是Showmethod.java和Testshow.java;Showmethod.javapackage pack1;//在這里把Showmethod類納入到pack1包內
class Showmethod{
public void show(){
System.out.println("I'm a show method() of Showmethod class");
}
}
Testshow.java; package pack1;//在這里把Testshow類也納入到pack1包內
public class Testshow{
public static void main(String args[]){
Showmethod sm=new Showmethod();
sm.show();
}
}
下面我們就先來看一下如何編譯這兩個位於同一個包內的java程序,1:javac pack1\Showmethod.java
2:javac pack1\Testshow.java
這就是編譯的方法 pack1是包名,包名後面跟的就是我們要編譯的那個類名,編譯好後pack1目錄下回聲成兩個class文件,運行方法:
java pack1.Testshow
注意運行時要指出包名,包名後有一個點"."然後是類名,
2:下面我們來看一下如何訪問不在同一個包內的類,在D盤分別建立pack1,pack2兩個文件,
建立好之後將Showmethod.java放到pack1包內,
Showmethod.java的代碼如下:
package pack1;
public class Showmethod{
public void show(){
System.out.println("I'm a show method() of Showmethod class");
}
}將Testshow.java放到pack2包內
Testshow.java的代碼如下:
package pack2;
public class Testshow{
public static void main(String args[]){
pack1.Showmethod sm=new pack1.Showmethod();
sm.show();
}
}由於此類需要調用位於pack1包中談灶的Showmethod類的show方法,所以這里pack1.Showmethod sm=new pack1.Showmethod();這樣寫,我們還可以使用import 語句將pack1包內的Showmethod方法導入進來,這樣這個地方pack1.Showmethod sm=new pack1.Showmethod();我們就可以這樣寫了Showmethod sm=new Showmethod();對於import我們下一範例進行說明,
還有一點我們必須注意,在訪問不同package里的類時,被訪問的類必須被聲明為public(就是公有類型的),否則在編譯回擾絕報告錯誤,
編譯方法"
1javac pack1\Showmethod.java
2: javac pack2\Testshow.java
編譯好之後pack1,pack2目錄下回分別產聲一個.class文件,
運行方法:
java pack2.Testshow