Java package包,導入包import

package包
包類似於操作系統的文件夾
作用:
1.包可以提供文件(.class)的分類管理
2.提供獨立的命名空間,防止命名衝突
3.設置了空間的訪問權限的控制(可以提供很好的封裝性)
包的聲明:
package 包名;
package 包.子包;
按照慣例,包名使用小寫字母組成。
建議包名採用“域名的倒寫.項目名.模塊名”的方式,以確保包名的唯一性, 例如com.lah.ghgj
包與包之間,包與類之間,使用.進行分割;
聲明包的語法要求
1、聲明位置:包聲明語句必須是源文件中的第一條有效語句
2、聲明數量:包聲明語句之多隻能有一條
當聲明包時,編譯和運行會發生變化,編譯javac -d e: PackTest.java 生成.class文件
到指定路徑。javac -d . PackTest.java生成.class到當前路徑運行java p.PackTest
類的訪問
在同一包中,可以通過簡單名訪問包中的其他類
在不同的包中不可通過簡單名訪問包外的類。
訪問包外的類需要使用權限定名或通過導入包後可使用簡單名訪問。

import的語法要求

  1. 語句位置:import語句必須出現在包聲明語句之後,類聲明之前
  2. 語句數量:import語句語句可以有0~n條語句
    • import 包.* ;導入該包中所有的類型,不包括子包中的類型的
    • java.lang包中類會自動導入
    • 明確導入java.util.Arrays,按需導入java.util.*。
    • 導入同一個類時,明確導入會遮蔽按需導入
      import與import static的區別:
    • import導入的是包中的類型。
    • import static導入的包中類型中聲明的靜態成員。
    • 當導入某類型的靜態成員時,就可以直接使用該成員名字進行訪問,
    • 就好像該成員聲明在當前類中一樣。
package p;
public class PackTest {

    public static void main(String[] args) {
        //同一包中,簡單命名訪問其他類
        new Pack();
        //不同包中,通過導包或者權限定名訪問其他包中的類
        This t = new This();
        //全限定名
        p1.This t = new p1.This();
        int[] x = {1,2};
        sort(x);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章