成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Java 包(package)介紹

Sanchi / 2215人閱讀

摘要:實(shí)際上,一個(gè)完整的類名就是包名與類名的組合。例如一個(gè)文件內(nèi)容如下這表示和都屬于這個(gè)包,它們的完整類名分別是和。包就是文件夾包代表的是一種樹形結(jié)構(gòu)的路徑,而在操作系統(tǒng)和壓縮包當(dāng)中,路徑都是以文件夾的形式展現(xiàn)的。

1. 為什么 Java 會(huì)有包的概念?

我們知道 Class(類)是 Java 中的一等公民,所有的 Java 代碼,都要寫在類里面。

我們也知道,在命名規(guī)則下,你可以給類起任何名字。當(dāng)你使用別人的類時(shí),首先知道的是類名,然后再了解如何使用這個(gè)類。

隨著人們編寫的 Java 類越來越多,就會(huì)有個(gè)問題:如果出現(xiàn)了名字相同的類怎么辦??jī)蓚€(gè)名字相同的 User 類,其內(nèi)涵是否也一樣呢?如果不一樣,要如何區(qū)分它們呢?

Package (包)就是用來解決這個(gè)問題的。通過將同名的類放到不同的包里面,我們就可以:

對(duì)同名的類進(jìn)行區(qū)分;

精確地指明我們需要其中的哪一個(gè);

讓同名的類在一個(gè)程序當(dāng)中共存。

例如有兩個(gè) User 類,把它們分別放到包 p1p2 中,就得到兩個(gè)不同的類: p1.Userp2.User。

所以,包的存在對(duì)于 Java 語言來說是非常重要的,沒有它,Java 的世界將會(huì)十分混亂,我們可能會(huì)遇到同名的類沖突,可能會(huì)為了避免這種情況而給類起一個(gè)非常長(zhǎng)的名字。不管怎樣這都是十分痛苦的。

2. 包是類的一部分

為什么這么說呢?因?yàn)槊總€(gè)類都會(huì)屬于一個(gè)包,那些沒有指定屬于哪個(gè)包的類,我們認(rèn)為它們屬于缺省包(default package)。實(shí)際上,一個(gè)完整的類名就是包名與類名的組合。比如當(dāng)我們說 Date 類時(shí),通常指的是 java.util.Date 類。要使用這個(gè)類,我們需要給出完整的類名。下面是一個(gè)例子:

public static void main(String[] args) {
    System.out.println("現(xiàn)在是 " + new java.util.Date());
}

上面的例子涉及到兩個(gè)類,一個(gè)是 System,一個(gè)是 Date。為什么后者要給出完整類名,而前者不需要呢?因?yàn)?Java 有個(gè)規(guī)定:凡是在 java.lang 包下面的類,使用時(shí)都無需給出完整類名。這里的 System 類,指的就是 java.lang.System,所以只要寫類名就可以了。

3. 聲明類屬于哪個(gè)包

我們可以在 java 文件的最開頭聲明這個(gè) java 文件中的類屬于哪個(gè)包。如果文件當(dāng)中有多個(gè)類,那么它們都屬于這個(gè)包。例如一個(gè)文件 Class1.java 內(nèi)容如下:

package p1;

public class Class1 {
    // ...
}

class Class2 {
    // ...
}

這表示 Class1Class2 都屬于 p1 這個(gè)包,它們的完整類名分別是 p1.Class1p1.Class2。

4. import 是一種簡(jiǎn)寫規(guī)則

因?yàn)閷懲暾念惷匀皇潜容^痛苦的一件事(當(dāng)然比沒有包的概念還是舒服多了),所以 Java 又增加了一個(gè)方便編碼的規(guī)則:import。

import 的用法,簡(jiǎn)單的說就是,在源代碼的開頭聲明了 import java.util.Date;之后,下面的源代碼中使用 Date 類就無需用完整的類名了:

import java.util.Date;

public static void main(String[] args) {
    System.out.println("現(xiàn)在是 " + new Date());
}

所以 import 的作用很簡(jiǎn)單,就是省略包名,減少不必要的重復(fù)。不過它不是萬能的,如果你要在一個(gè) java 文件中同時(shí)使用 java.util.Datejava.sql.Date 的話,那么 import 就只能適用其中的一個(gè),另一個(gè)你還得用完整的類名。

5. 包就是文件夾

包代表的是一種樹形結(jié)構(gòu)的路徑,而在操作系統(tǒng)和壓縮包當(dāng)中,路徑都是以文件夾的形式展現(xiàn)的。所以對(duì)初學(xué)者來說,“包就是文件夾” 這樣理解就可以了。

所以,如果一個(gè)類聲明自己在 p1 包下,那么它也要放在名為 p1 的目錄下,否則 Java 就會(huì)認(rèn)為這是錯(cuò)的。

以上就是關(guān)于 Java 包的一些基礎(chǔ)知識(shí)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://hztianpu.com/yun/65778.html

相關(guān)文章

  • 樂字節(jié)Java|GC垃圾回收機(jī)制、package和import語句

    摘要:本文接上一篇樂字節(jié)關(guān)鍵字關(guān)鍵字塊。本文是接著講述垃圾回收機(jī)制和語句。一垃圾回收機(jī)制全名垃圾回收機(jī)制程序員無權(quán)調(diào)用垃圾回收器。通知運(yùn)行,但是規(guī)范并不能保證立刻運(yùn)行。若缺省該語句,則指定為無名包。 本文接上一篇:樂字節(jié)Java|this關(guān)鍵字、static關(guān)鍵字、block塊。本文是接著講述JavaGC垃圾回收機(jī)制、package 和 import語句。showImg(https://se...

    xuexiangjys 評(píng)論0 收藏0
  • Java那些事(一)——訪問級(jí)別修飾符

    摘要:老夫的老夫的主頁謝謝閱讀那點(diǎn)事訪問級(jí)別修飾符注本文討論的所有情況沒有考慮嵌套類。這種訪問級(jí)別是范圍最大的,當(dāng)泥萌使用該修飾符修飾類的成員的時(shí)候,代表該成員可以被所有類訪問,即整個(gè)項(xiàng)目下都是可以訪問的。 老夫的gayhub老夫的主頁謝謝閱讀 Java那點(diǎn)事-訪問級(jí)別修飾符 注:本文討論的所有情況沒有考慮嵌套類。 Java的訪問級(jí)別修飾符(Access Level Modifiers)有四...

    Render 評(píng)論0 收藏0
  • maven構(gòu)建java項(xiàng)目工具介紹

    摘要:一用途在創(chuàng)建項(xiàng)目的時(shí)候,可以自己手動(dòng)創(chuàng)建,也可以利用工具創(chuàng)建,也就是來創(chuàng)建。可以用來創(chuàng)建項(xiàng)目部署項(xiàng)目安裝管理依賴編譯代碼管理二進(jìn)制等。的目的是使項(xiàng)目過程規(guī)范化自動(dòng)化高效化及強(qiáng)大的可擴(kuò)展性。 一、maven用途 java在創(chuàng)建項(xiàng)目的時(shí)候,可以自己手動(dòng)創(chuàng)建,也可以利用工具創(chuàng)建,也就是maven來創(chuàng)建。 maven可以用來創(chuàng)建項(xiàng)目、部署項(xiàng)目、安裝管理依賴、編譯代碼、管理二進(jìn)制等。 mave...

    liujs 評(píng)論0 收藏0
  • Spring Boot 應(yīng)用 Docker 化 《Spring Boot 2.0極簡(jiǎn)教程》(陳光劍)

    摘要:應(yīng)用化極簡(jiǎn)教程陳光劍基于的企業(yè)級(jí)應(yīng)用開發(fā)最佳實(shí)踐前面的章節(jié)中,我們都是在環(huán)境中開發(fā)運(yùn)行測(cè)試應(yīng)用程序。關(guān)鍵字是分布式應(yīng)用微服務(wù)容器虛擬化。通常,在企業(yè)項(xiàng)目實(shí)踐中,會(huì)實(shí)現(xiàn)一套應(yīng)用部署發(fā)布的自動(dòng)化運(yùn)維平臺(tái)工具。 Spring Boot 應(yīng)用 Docker 化 《Spring Boot 2.0極簡(jiǎn)教程》(陳光劍)—— 基于 Gradle + Kotlin的企業(yè)級(jí)應(yīng)用開發(fā)最佳實(shí)踐 前面的章節(jié)中,...

    Donne 評(píng)論0 收藏0
  • Spring Boot 應(yīng)用 Docker 化 《Spring Boot 2.0極簡(jiǎn)教程》(陳光劍)

    摘要:應(yīng)用化極簡(jiǎn)教程陳光劍基于的企業(yè)級(jí)應(yīng)用開發(fā)最佳實(shí)踐前面的章節(jié)中,我們都是在環(huán)境中開發(fā)運(yùn)行測(cè)試應(yīng)用程序。關(guān)鍵字是分布式應(yīng)用微服務(wù)容器虛擬化。通常,在企業(yè)項(xiàng)目實(shí)踐中,會(huì)實(shí)現(xiàn)一套應(yīng)用部署發(fā)布的自動(dòng)化運(yùn)維平臺(tái)工具。 Spring Boot 應(yīng)用 Docker 化 《Spring Boot 2.0極簡(jiǎn)教程》(陳光劍)—— 基于 Gradle + Kotlin的企業(yè)級(jí)應(yīng)用開發(fā)最佳實(shí)踐 前面的章節(jié)中,...

    rose 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<