<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
包 (package) 是組織類的一種方式.
使用包的主要目的是保證類的唯一性.
例如, 你在程式碼中寫了一個 Test 類. 然後你的同事也可能寫一個 Test 類. 如果出現兩個同名的類, 就會衝突, 導致 程式碼不能編譯通過
Java 中已經提供了很多現成的類供我們使用
①:例如列印陣列:
public class TestDemo{ public static void main(String[] args) { int[] array = {1,2,3,4,5}; System.out.println(Arrays.toString(array)); } }
用Arrays就需要匯入包,看圖:
如果最上面的這行程式碼不寫就會報錯,看圖:
那麼怎麼匯入上面的這個包呢,當我們寫出Arrays這個程式碼,IDEA會自動跳出選項讓你選擇,選擇第一項你直接回車,就會幫你匯入這個包。看圖:
②:再舉例:
Date這個類是定義日期的,也是Java類庫寫好的
public class TestDemo { public static void main(String[] args) { java.util.Date date = new java.util.Date();//在我們不導包時候手寫 // 得到一個毫秒級別的時間戳 System.out.println(date.getTime()); } }
可以使用 java.util.Date 這種方式引入 java.util 這個包中的 Date 類
但是這種寫法比較麻煩一些, 這個時候就可以用上面的寫法,可以使用 import 語句匯入包
import java.util.Date; public class TestDemo { public static void main(String[] args) { Date date = new Date(); // 得到一個毫秒級別的時間戳 System.out.println(date.getTime()); } }
注意事項:
可以匯入一個具體的類,不能匯入具體的包
:匯入util包,報錯
:匯入具體的類
③:再舉例:
如果需要使用 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()); } }
:不報錯,這個*可以理解為萬用字元,代表匯入這個包底下所有的類
疑問:util底下有很多類,難道一下子全部匯入嗎?不會,Java處理的時候,需要誰,他才會那誰。
④:但是我們更建議顯式的指定要匯入的類名. 否則還是容易出現衝突的情況.
舉例:
import java.util.*; import java.sql.*; public class TestDemo { public static void main(String[] args) { // util 和 sql 中都存在一個 Date 這樣的類, 此時就會出現歧義, 編譯出錯 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 來引入其他檔案內容, 但是 Java 不需要. import 只是為了寫程式碼的時候更方便. import 更類似於 C++ 的 namespace 和 using
知識點
import和package的區別
package:"包",,指:類所在的包
import:"引入",指:引入類中需要的類
如果我們要用到一些Java類庫裡面的程式碼我們都需要通過import匯入
使用 import static 可以匯入包中的靜態的方法和欄位.
①舉例:
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; // 靜態匯入的方式寫起來更方便一些. // 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); } }
再寫程式碼當中Math.就可以去掉。
基本規則:
在檔案的最上方加上一個 package 語句指定該程式碼在哪個包中.
包名需要儘量指定成唯一的名字, 通常會用公司的域名的顛倒形式(例如 com.xuexiao.demo1 ).
包名要和程式碼路徑相匹配. 例如建立 com.xuexiao.demo1 的包, 那麼會存在一個對應的路徑 com/xuexiao/demo1 來存 儲程式碼.
如果一個類沒有 package 語句, 則該類被放到一個預設包中.
操作步驟:
1) 在 IDEA 中先新建一個包: 右鍵 src -> 新建 -> 包
2) 在彈出的對話方塊中輸入包名, 例如 com.xuexiao.demo1 ,點回車
3) 在包中建立類, 右鍵包名 -> 新建 -> 類, 然後輸入類名即可
4) 此時可以看到我們的磁碟上的目錄結構已經被 IDEA 自動建立出來了
5) 同時我們也看到了, 在新建立的 Test.java 檔案的最上方, 就出現了一個 package 語句
我們已經瞭解了類中的 public 和 private. private 中的成員只能被類的內部使用.
如果某個成員不包含 public 和 private 關鍵字, 此時這個成員可以在包內部的其他類使用, 但是不能在包外部的類使 用.
舉例:
下面的程式碼給了一個範例. 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); } }
// 執行結果, 能夠存取到 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中不是公共的; 無法從外部程式包中對其進行存取
1. java.lang:系統常用基礎類(String、Object),此包從JDK1.1後自動匯入。
2. java.lang.reflect:java 反射程式設計包;
3. java.net:進行網路程式設計開發包。
4. java.sql:進行資料庫開發的支援包。
5. java.util:是java提供的工具程式包。(集合類等) 非常重要
6. java.io:I/O程式設計開發包。
到此這篇關於Java由淺入深帶你瞭解什麼是包package的文章就介紹到這了,更多相關Java 包內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45