<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            java語言

            Java編程里的包及訪問權限

            時間:2025-01-07 12:02:48 java語言 我要投稿
            • 相關推薦

            Java編程里的包及訪問權限

              在 Java 里,可以將一個大型項目中的類分別獨立出來,分門別類地存到文件里, 再將這些文件一起編譯執行,如此的程序代碼將更易于維護。下面內容由小編為大家介紹Java編程里的包及訪問權限,供大家參考!

              一、包(package)的基本概念

              當一個大型程序由數個不同的組別或人員開發共同開發時,用到相同的類名稱是 很有可能的事。如果這種情況發生,還要確保程序可以正確運行,就必須通過 package 關鍵字來幫忙了。

              package 是在使用多個類或接口時,為了避免名稱重復而采用的一種措施。那么 具體應該怎么使用呢?在類或接口的最上面一行加上 package 的聲明就可以了。

              【 格式1 package 的聲明】

              package package 名稱 ;

              經過 package 的聲明之后,在同一文件內的接口或類都被納入相同的 package 中。 程序 TestPackage1 是使用 package 的一個范例,如下所示:

              范例:TestPackage1.java

              01 package demo.java

              02 class Person

              03 {

              04 public String talk()

              05 {

              06 return "Person —— >> talk()"

              07 }

              08 }

              09

              10 class TestPackage1

              11 {

              12 public static void main(String[] args)

              13 {

              14 System.out.println(new Person().talk())

              15 }

              16 }

              在 TestPackage1.java 中,除了第 1 行的加的 package demo.java 聲明語句之外,其余的程序都是讀者見過的。由于第 1 行聲明了一個 demo.java 的包,所以就相當于將 Person 類、TestPackage1 類放入了 demo.java 文件夾之下。現在來看一下上面的程序是 如何編譯的:

              javac -d . TestPackage1.java

              “-d”:表示生成目錄

              “.”:表示在當前目錄下生成

              這樣就會在當前目錄下生成一個 demo 的文件夾,在 demo 文件夾下又會生成一個 java 文件夾,在此文件夾下會有編譯好的 Person.class 和 TestPackage1.class,編譯好之 后用下面的語法來執行它:

              java demo.java.TestPackage1

              輸出結果:

              Person —— >> talk()

              二、import 語句的使用

              到目前為止,所介紹的類都是屬于同一個 package 的,因此在程序代碼的編寫上 并不需要做修改。但如果幾個類分別屬于不同的 package 時,在某個類要訪問到其它 類的成員時,則必須做下列的修改:

              若某個類需要被訪問時,則必須把這個類公開出來,也就是說,此類必須聲明成 public。

              若要訪問不同 package 內某個 public 類的成員時,在程序代碼內必須明確地指明 “被訪問 package 的名稱.類名稱”。

              【 格式2 package 的導入】

              import package 名稱.類名稱 ;

              通過 import 命令,可將某個 package 內的整個類導入,因此后續的程序代碼便不 用再寫上被訪問package 的名稱了。

              舉一個范例來說明 import 命令的用法。此范例與 TestPackage1 類似,只是將兩個 類分別放在不同的包中:

              圖1 包的導入

              范例:Person.java

              01 package demo.java.a

              02

              03 public class Person

              04 {

              05 public String talk()

              06 {

              07 return "Person —— >> talk()"

              08 }

              09 }

              程序說明:

              程序第 1 行聲明一個 demo.java.a 的包,將 Person 類放入此包之中。

              范例:TestPackage2.java

              01 package demo.java.b

              02 import demo.java.a.Person

              03

              04 class TestPackage2

              05 {

              06 public static void main(String[] args)

              07 {

              08 System.out.println(new Person().talk())

              09 }

              10 }

              輸出結果:

              Person —— >> talk()

              程序說明:

              1、 程序第 1 行聲明一個 demo.java.b 包,將 TestPackage2 類放入此包之中。

              2、 程序第 2 行使用 import 語句,將 demo.java.a 包中的 Person 類導入到此包之中。

              注意: 可以將第 2 行的 import demo.java.a.Person 改成 import demo.java.a.*,表示導 入包中的所有類,另外需要告訴讀者的是,在 java 中有這樣的規定:導入全部 類或是導入指定的類,對于程序的性能是沒有影響的,所以在開發中可以直接寫 導入全部類會比較方便。

              另外,TestPackage2.java 程序也可以寫成如下形式:

              范例:TestPackage3.java

              01 package demo.java.b

              02

              03 class TestPackage3

              04 {

              05 public static void main(String[] args)

              06 {

              07 System.out.println(new demo.java.a.Person().talk())

              08 }

              09 }

              可以發現在 TestPackage3.java 程序中并沒有使用 import 語句,但是在程序第 7 行 使用 Person 類的時候使用了“包名.類名”的方式使用了 Person 類,所以在程序中也 可以使用此方法來使用非本類所在的包中的類。

              三、JDK 中常見的包

              SUN 公司在 JDK 中為程序開發者提供了各種實用類,這些類按功能不同分別被 放入了不同的包中,供開發者使用,下面簡要介紹其中最常用的幾個包:

              1、 java.lang — 包含一些 Java 語言的核心類,如 String、Math、Integer、System 和 Thread,提供常用功能。在 java.lang 包中還有一個子包:java.lang.reflect 用于實現 java 類的反射機制。

              2、 java.awt — 包含了構成抽象窗口工具集(abstract window toolkits)的多個類, 這些類被用來構建和管理應用程序的圖形用戶界面(GUI)。

              3、 javax.swing — 此包用于建立圖形用戶界面,此包中的組件相對于 java.awt 包而言是輕量級組件。

              4、 java.applet — 包含 applet 運行所需的一些類。

              5、 java.net — 包含執行與網絡相關的操作的類。

              6、 java.io — 包含能提供多種輸入/輸出功能的類。

              7、 java.util — 包含一些實用工具類,如定義系統特性、與日期日歷相關的函數。

              注意:java1.2 以后的版本中,java.lang 這個包會自動被導入,對于其中的類,不 需要使用 import 語句來做導入了,如前面經常使用的 System 類。

            【Java編程里的包及訪問權限】相關文章:

            理解Java訪問權限的控制07-22

            JAVA的數據權限設計05-28

            java編程基礎07-26

            java編程術語03-09

            Java編程語言02-10

            關于java的訪問控制02-26

            java教程之Java編程基礎04-18

            java編程的總結與思考07-29

            java語法基本編程04-01

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院