Java包的基本概述


第七章

7.1 包的基本概述

起因:

在我們設計一個程序的時候(尤其是多人合作),會寫一些類來實現功能,但是往往會有重名的現象發生,為了解決這個問題,則專門設計了包。(還有其他作用,下述)

簡單理解:不同的城市之間存在相同名字的小區,用城市名則可以區分這些重名小區,城市名就可以理解為上面的包,小區則可以看做是重名的類,通過這個前綴,解決了重名問題。

(1) 概念:

為了更好地組織類,Java 提供了包機制,用於區別類名的命名空間。

其實可以理解為就是文件夾,並且使用了樹形目錄的存儲方式。

(2) 作用:

A:區分同名的類

B:對類進行分類管理

​ a:按照功能分——把功能相似或者相關的類或接口組織在同一個包中

​ b:按照模塊分

(3) 包的定義:

package 包名;
//多級包用.分開

(4) 注意:

A:package語句必須在文件中的第一條有效語句

B:在一個java文件中,只能有一個package

(5)帶包的編譯和運行

掌握——自動式(Dos中)

javac -d . xxx.java
//可以使用 *.java代表當前目錄下的所有源文件

//運行:
java 包名.HelloWorld

在ecplise、ideal等IDE中會自動的生成包名的結構

7.2導包

當你需要使用一個包中的成員的時候,我們就需要在 java 程序中導入該包

如果兩個類在同一個包中,則不必導包

格式:

第一種:
//導入單個(推薦)
import 包名;

注意:我們用誰就導誰。(盡量少用星號* 如下)

第二種:
//導入java.io下的所有類(不推薦)
import java.io.*

注意:

//前兩句是否能用最后一句代替
import java.lang.*;
import java.io.*;

import java.*;//無法代替上面兩句,只能指向到單層的包中

注意:使用java.lang下的內容是不用導包的,具體可以查看 jdk-api

作用:

使用某一包中對應成員,並且簡化書寫

例如我們想使用java.io包下的BufferedReader

我們可以

import java.io.BufferedReader
BufferedReader in = new BufferedReader(new FileReader("foo.in")); 

如果沒有使用import導包

我們在使用java類庫的時候,就需要寫出該類的全路徑名稱,明顯代碼過於冗長

java.io.BufferedReader in = new java.io.BufferedReader(new FileReader("foo.in")); 

7.3 權限修飾符

看完包的基本概念,我們也就理解了當初所講權限修飾符的問題

本類 同一個包下 不同包下的子類 不同包下的無關類
public Y Y Y Y
protected Y Y Y
默認 Y Y
private Y
這四種權限修飾符在任何情況下只能出現一種

結尾:

如果內容中有什么不足,或者錯誤的地方,歡迎大家給我留言提出意見, 蟹蟹大家 !_

如果能幫到你的話,那就來關注我吧!(系列文章均會在公眾號第一時間更新)

在這里的我們素不相識,卻都在為了自己的夢而努力 ❤

一個堅持推送原創Java技術的公眾號:理想二旬不止

img Java包的基本概述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM