Java包的概述
包是用來管理類的, 就像使用文件夾管理文件一樣,一個項目,可以包含很多的包,每個 包中又包含很多不同的類。
同一個包中類名不能相同 ,不同的包中類名可以相同。
java.lang: Java語言的基本包, 系統會自動導入
java.util :Java提供的常用工具包
java.io: 輸入/輸出相關的類
package 包
說明:
● package關鍵字,是用來定義包的
● package定義包的語句必須作為源文件的第一條語句
● 包名的命名規則
一般使用公司域名的倒序+項目名+模塊名
com.wkcto.chapter01.package01
一般所有字母都小寫
● 如果把類定義在包中, 類會有一個完整類名
包名.類名
com.wkcto.chapter01.package01.Demo01
● 使用java運行程序時, 如果是完整類名,系統會在當前目錄中依次查找與包名對應的文件夾, 即在當前目錄中查找 com/wkcto/chapter01/package01文件夾, 在該文件夾中查找Demo01.class字節碼文件
● 把類定義在包中之后,編譯時,可以通過-d參數指定字節碼存儲的位置,如:javac -d . Test01.java 小點代表是當前目錄
package com.bjpowernode.chapter0101.p1;
/**
* 1) 使用package關鍵字定義了一個包, 包名命名規則: 公司域名.項目名.子模塊名
* 2) Demo01類的完整類名 : com.bjpowernode.chapter0101.p1.Demo01
* 3) 編譯時, 通過-d參數指定生成字節碼的存儲位置
javac -d . Demo01.java
系統會在當前目錄中依次創建與包名對應的文件夾
4) 運行程序時, 使用完整類名
java com.bjpowernode.chapter0101.p1.Demo01
系統會在當前目錄中依次查找與包名對應的文件夾, 在該文件夾中查找字節碼文件
*/
class Demo01 {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
使用其他包中的類
在a包中想要使用b包中的類, 前提b包中的類必須定義為公共類
在使用時,可以通過兩種方式:
● 直接使用完整類名
● 先通過import導入該類,再使用
package com.bjpowernode.chapter0101.p2;
/*
* 在p2包中, 想調用p3包中的MyClass類的靜態方法
1) 使用前提是, 被使用的MyClass類必須定義為public公共類
2) 在使用時, 可以直接使用完整類名 , 也可以先導入再使用
*/
import com.bjpowernode.chapter0101.p3.MyClass;
class Demo02 {
public static void main(String[] args) {
System.out.println("調用p3包中的MyClass類的靜態方法!");
//可以使用完整類名訪問一個類
com.bjpowernode.chapter0101.p3.MyClass.mm();
//還可以先把類導入到當前文件中,再使用
MyClass.mm();
}
}
package com.bjpowernode.chapter0101.p3;
public class MyClass{
public static void mm() {
System.out.println("我是p3包中 MyClass類的靜態方法mm!");
}
}