當前位置:生活全書館 >

IT科技

> package java

package java

java中package是什麼,怎麼使用呢?不知道的小夥伴來看看小編今天的分享吧!

1、package簡介:

Java中package是包,為了更好地組織類,Java 提供了包機制,用於區別類名的名稱空間。

2、作用:

把功能相似或相關的類或介面組織在同一個包中,方便類的查詢和使用。

如同檔案夾一樣,包也採用了樹形目錄的儲存方式。同一個包中的類名字是不同的,不同的包中的類的名字是可以相同的,當同時呼叫兩個不同包中相同類名的類時,應該加上包名加以區別。因此,包可以避免名字衝突。

java package

3、補充說明:

package也限定了訪問許可權,擁有包訪問許可權的類才能訪問某個包中的類。Java使用包(package)這種機制是為了防止命名衝突,訪問控制,提供搜尋和定位類(class)、介面、列舉(enumerations)和註釋(annotation)等。

4、語法格式

package pkg1[.pkg2[.pkg3…]];

例如,一個Something.java 檔案它的內容

package net.java.util;public class Something{   ...}

那麼它的路徑應該是 net/java/util/Something.java 這樣儲存的。 package(包) 的作用是把不同的 java 程式分類儲存,更方便的被其他 java 程式呼叫。

5、使用:

一個包(package)可以定義為一組相互聯絡的型別(類、介面、列舉和註釋),為這些型別提供訪問保護和名稱空間管理的功能。

以下是一些Java 中的包:

java package 第2張

java.lang-打包基礎的類

java.io-包含輸入輸出功能的函式

開發者可以自己把一組類和介面等打包,並定義自己的包。而且在實際開發中這樣做是值得提倡的,當你自己完成類的實現之後,將相關的類分組,可以讓其他的程式設計者更容易地確定哪些類、介面、列舉和註釋等是相關的。

由於包建立了新的名稱空間(namespace),所以不會跟其他包中的任何名字產生命名衝突。使用包這種機制,更容易實現訪問控制,並且讓定位相關類更加簡單。

建立包

建立包的時候,你需要為這個包取一個合適的名字。之後,如果其他的一個原始檔包含了這個包提供的類、介面、列舉或者註釋型別的時候,都必須將這個包的宣告放在這個原始檔的開頭。

包宣告應該在原始檔的第一行,每個原始檔只能有一個包宣告,這個檔案中的每個型別都應用於它。

如果一個原始檔中沒有使用包宣告,那麼其中的類,函式,列舉,註釋等將被放在一個無名的包(unnamed package)中。

例子

讓我們來看一個例子,這個例子建立了一個叫做animals的包。通常使用小寫的字母來命名避免與類、介面名字的衝突。

在 animals 包中加入一個介面(interface):

Animal.java 檔案程式碼:

/* 檔名: Animal.java */package animals; interface Animal {   public void eat();   public void travel();}

接下來,在同一個包中加入該介面的實現:

MammalInt.java 檔案程式碼:

package animals; /* 檔名 : MammalInt.java */public class MammalInt implements Animal{   public void eat(){      System.out.println("Mammal eats");   }   public void travel(){      System.out.println("Mammal travels");   }   public int noOfLegs(){      return 0;   }   public static void main(String args[]){      MammalInt m = new MammalInt();      m.eat();      m.travel();   }}

然後,編譯這兩個檔案,並把他們放在一個叫做animals的子目錄中。 用下面的命令來執行:

$ mkdir animals

$ cp Animal.class  MammalInt.class animals

$ java animals/MammalIntMammal eatsMammal travel

標籤: java package
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/0ny29g.html