您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java的package包怎么用”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強(qiáng),希望這篇“Java的package包怎么用”文章能幫助大家解決問題。
包 (package) 是組織類的一種方式.
使用包的主要目的是保證類的唯一性.
例如, 你在代碼中寫了一個 Test 類. 然后你的同事也可能寫一個 Test 類. 如果出現(xiàn)兩個同名的類, 就會沖突, 導(dǎo)致 代碼不能編譯通過
Java 中已經(jīng)提供了很多現(xiàn)成的類供我們使用
①:例如打印數(shù)組:
public class TestDemo{ public static void main(String[] args) { int[] array = {1,2,3,4,5}; System.out.println(Arrays.toString(array)); } }
用Arrays就需要導(dǎo)入包,看圖:
如果最上面的這行代碼不寫就會報錯,看圖:
那么怎么導(dǎo)入上面的這個包呢,當(dāng)我們寫出Arrays這個代碼,IDEA會自動跳出選項讓你選擇,選擇第一項你直接回車,就會幫你導(dǎo)入這個包??磮D:
②:再舉例:
Date這個類是定義日期的,也是Java類庫寫好的
public class TestDemo { public static void main(String[] args) { java.util.Date date = new java.util.Date();//在我們不導(dǎo)包時候手寫 // 得到一個毫秒級別的時間戳 System.out.println(date.getTime()); } }
可以使用 java.util.Date 這種方式引入 java.util 這個包中的 Date 類
但是這種寫法比較麻煩一些, 這個時候就可以用上面的寫法,可以使用 import 語句導(dǎo)入包
import java.util.Date; public class TestDemo { public static void main(String[] args) { Date date = new Date(); // 得到一個毫秒級別的時間戳 System.out.println(date.getTime()); } }
注意事項:
可以導(dǎo)入一個具體的類,不能導(dǎo)入具體的包
:導(dǎo)入util包,報錯
:導(dǎo)入具體的類
③:再舉例:
如果需要使用 java.util 中的其他類, 可以使用 import java.util.*
import java.util.*; public class TestDemo { public static void main(String[] args) { Date date = new Date(); // 得到一個毫秒級別的時間戳 System.out.println(date.getTime()); } }
:不報錯,這個*可以理解為通配符,代表導(dǎo)入這個包底下所有的類
疑問:util底下有很多類,難道一下子全部導(dǎo)入嗎?不會,Java處理的時候,需要誰,他才會那誰。
④:但是我們更建議顯式的指定要導(dǎo)入的類名. 否則還是容易出現(xiàn)沖突的情況.
舉例:
import java.util.*; import java.sql.*; public class TestDemo { public static void main(String[] args) { // util 和 sql 中都存在一個 Date 這樣的類, 此時就會出現(xiàn)歧義, 編譯出錯 Date date = new Date(); System.out.println(date.getTime()); } } // 編譯出錯 Error:(5, 9) java: 對Date的引用不明確 java.sql 中的類 java.sql.Date 和 java.util 中的類 java.util.Date 都匹配
在這種情況下需要使用完整的類名
注意事項:
import 和 C++ 的 #include 差別很大. C++ 必須 #include 來引入其他文件內(nèi)容, 但是 Java 不需要. import 只是為了寫代碼的時候更方便. import 更類似于 C++ 的 namespace 和 using
知識點
import和package的區(qū)別
package:"包",,指:類所在的包
import:"引入",指:引入類中需要的類
如果我們要用到一些Java類庫里面的代碼我們都需要通過import導(dǎo)入
使用 import static 可以導(dǎo)入包中的靜態(tài)的方法和字段.
①舉例:
import static java.lang.System.*; public class Test { public static void main(String[] args) { out.println("hello"); } }
這樣System.out.println("hello");就可以寫成out.println("hello");
②再舉例:
import static java.lang.Math.*; public class TestDemo { public static void main(String[] args) { double x = 30; double y = 40; // 靜態(tài)導(dǎo)入的方式寫起來更方便一些. // double result = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); double result = sqrt(pow(x, 2) + pow(y, 2)); System.out.println(result); } }
再寫代碼當(dāng)中Math.就可以去掉。
基本規(guī)則:
在文件的最上方加上一個 package 語句指定該代碼在哪個包中.
包名需要盡量指定成唯一的名字, 通常會用公司的域名的顛倒形式(例如 com.xuexiao.demo1 ).
包名要和代碼路徑相匹配. 例如創(chuàng)建 com.xuexiao.demo1 的包, 那么會存在一個對應(yīng)的路徑 com/xuexiao/demo1 來存 儲代碼.
如果一個類沒有 package 語句, 則該類被放到一個默認(rèn)包中.
操作步驟:
1) 在 IDEA 中先新建一個包: 右鍵 src -> 新建 -> 包
2) 在彈出的對話框中輸入包名, 例如 com.xuexiao.demo1 ,點回車
3) 在包中創(chuàng)建類, 右鍵包名 -> 新建 -> 類, 然后輸入類名即可
4) 此時可以看到我們的磁盤上的目錄結(jié)構(gòu)已經(jīng)被 IDEA 自動創(chuàng)建出來了
5) 同時我們也看到了, 在新創(chuàng)建的 Test.java 文件的最上方, 就出現(xiàn)了一個 package 語句
我們已經(jīng)了解了類中的 public 和 private. private 中的成員只能被類的內(nèi)部使用.
如果某個成員不包含 public 和 private 關(guān)鍵字, 此時這個成員可以在包內(nèi)部的其他類使用, 但是不能在包外部的類使 用.
舉例:
下面的代碼給了一個示例. Demo1 和 Demo2 是同一個包中, Test 是其他包中.
Demo1.java
package com.bili.demo; public class Demo1 { int value = 0; }
Demo2.java
package com.bili.demo; public class Demo2 { public static void Main(String[] args) { Demo1 demo = new Demo1(); System.out.println(demo.value); } }
// 執(zhí)行結(jié)果, 能夠訪問到 value 變量
10
Test.java
import com.bili.demo.Demo1; public class Test { public static void main(String[] args) { Demo1 demo = new Demo1(); System.out.println(demo.value); } } // 編譯出錯 Error:(6, 32) java: value在com.bili.demo.Demo1中不是公共的; 無法從外部程序包中對其進(jìn)行訪問
1. java.lang:系統(tǒng)常用基礎(chǔ)類(String、Object),此包從JDK1.1后自動導(dǎo)入。
2. java.lang.reflect:java 反射編程包;
3. java.net:進(jìn)行網(wǎng)絡(luò)編程開發(fā)包。
4. java.sql:進(jìn)行數(shù)據(jù)庫開發(fā)的支持包。
5. java.util:是java提供的工具程序包。(集合類等) 非常重要
6. java.io:I/O編程開發(fā)包。
關(guān)于“Java的package包怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。