<ruby id="bdb3f"></ruby>

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

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # java 中的包以及如何使用它們 > 原文: [https://beginnersbook.com/2013/03/packages-in-java/](https://beginnersbook.com/2013/03/packages-in-java/) 顧名思義,包是類,接口和其他包的包(組)。在 java 中,我們使用包來組織我們的類和接口。我們在 Java 中有兩種**類型的包:內置包和我們可以創建的包(也稱為用戶定義包)。在本指南中,我們將了解什么是包,什么是 java 中的用戶定義包以及如何使用它們。** 在 java 中我們有幾個內置包,例如當我們需要用戶輸入時,我們導入一個這樣的包: ```java import java.util.Scanner ``` 這里: → `java`是頂級包 → `util`是子包 → `Scanner`是一個類是存在于子包`util`中。 在我們看到如何在 java 中創建用戶定義的包之前,讓我們看看使用包的優點。 ## 在 Java 中使用包的優點 這些是您應該在 Java 中使用包的原因: * **可重用性**:在 java 中開發項目時,我們常常覺得在我們的代碼中我們一再寫的東西很少。使用包,您可以在包內部以類的形式創建這樣的東西,并且只要您需要執行相同的任務,只需導入該包并使用該類。 * **更好的組織**:同樣,在我們有數百個類的大型 java 項目中,總是需要將相似類型的類分組到一個有意義的包名中,這樣您就可以更好地組織項目了。需要一些東西,你可以快速找到它并使用它,這提高了效率。 * **名稱沖突**:我們可以在不同的包中定義兩個具有相同名稱的類,以避免名稱沖突,我們可以使用包 ## Java 中的包類型 正如本指南開頭所提到的,我們在 java 中有兩種類型的包。 1)用戶定義的包:我們創建的包稱為用戶定義的包。 2)內置包:已經定義的包如`java.io.*`,`java.lang.*`等被稱為內置包。 我們已經討論了內置包,可以借助示例討論用戶定義的包。 ## 示例 1:Java 包 我在包名`letmecalculate`中創建了一個類`Calculator`。要在包中創建類,請在程序的第一個語句中聲明包名。一個類只能有一個包聲明。 在包`letmecalculate`內創建的`Calculator.java`文件 ```java package letmecalculate; public class Calculator { public int add(int a, int b){ return a+b; } public static void main(String args[]){ Calculator obj = new Calculator(); System.out.println(obj.add(10, 20)); } } ``` 現在讓我們看看如何在另一個程序中使用此包。 ```java import letmecalculate.Calculator; public class Demo{ public static void main(String args[]){ Calculator obj = new Calculator(); System.out.println(obj.add(100, 200)); } } ``` 要使用類`Calculator`,我已導入包`letmecalculate`。在上面的程序中,我將包導入為`letmecalculate.Calculator`,這只導入了`Calculator`類。但是如果你在包`letmecalculate`中有幾個類,那么你可以像這樣導入包,以使用這個包的所有類。 ```java import letmecalculate.*; ``` ## 示例 2:在導入另一個包時在包內創建一個類 正如我們所看到的,包聲明和包導入都應該是 java 程序中的第一個語句。讓我們看看當我們在導入另一個包時在包內創建一個類時應該是什么順序。 ```java //Declaring a package package anotherpackage; //importing a package import letmecalculate.Calculator; public class Example{ public static void main(String args[]){ Calculator obj = new Calculator(); System.out.println(obj.add(100, 200)); } } ``` 所以這種情況下的順序應該是: →包的聲明 →包的導入 ## 示例 3:導入類時使用完全限定名稱 您可以使用完全限定名稱來避免`import`語句。讓我們看一個例子來理解這個: `Calculator.java` ```java package letmecalculate; public class Calculator { public int add(int a, int b){ return a+b; } public static void main(String args[]){ Calculator obj = new Calculator(); System.out.println(obj.add(10, 20)); } } ``` `Example.java` ```java //Declaring a package package anotherpackage; public class Example{ public static void main(String args[]){ //Using fully qualified name instead of import letmecalculate.Calculator obj = new letmecalculate.Calculator(); System.out.println(obj.add(100, 200)); } } ``` 在`Example`類中,我使用了諸如`package_name.class_name`之類的完全限定名來創建它的對象,而不是導入包。您可能還想閱讀: [Java 中的靜態導入](https://beginnersbook.com/2013/05/java-static-import/) ## Java 中的子包 另一個包中的包稱為子包。例如,如果我在`letmecalculate`包中創建一個包,那么它將被稱為子包。 假設我在`letmecalculate`中創建了另一個包,子包名稱是`multiply`。所以如果我在這個子包中創建一個類,它應該在開頭有這個包聲明: ```java package letmecalculate.multiply; ``` Multiplication.java ```java package letmecalculate.multiply; public class Multiplication { int product(int a, int b){ return a*b; } } ``` 現在如果我需要使用這個`Multiplication`類,我必須像這樣導入包: ```java import letmecalculate.multiply; ``` 或者我可以使用這樣的完全限定名稱: ```java letmecalculate.multiply.Multiplication obj = new letmecalculate.multiply.Multiplication(); ``` ## 要記住的要點: 1. 有時可能會發生類名沖突。例如:假設我們有兩個包`abcpackage`和`xyzpackage`,兩個包都有一個同名的類,讓它為`JavaExample.java`。現在假設一個類導入這兩個包,如下所示: ```java import abcpackage.*; import xyzpackage.*; ``` 這將拋出編譯錯誤。要避免此類錯誤,您需要使用我上面顯示的完全限定名稱方法。例如 ```java abcpackage.JavaExample obj = new abcpackage.JavaExample(); xyzpackage.JavaExample obj2 = new xyzpackage.JavaExample(); ``` 這樣就可以避免導入包語句并避免名稱沖突錯誤。 我已經在上面討論了這個問題,讓我在這里再說一遍。如果我們在導入另一個包時在包內創建一個類,那么包聲明應該是第一個語句,然后是包導入。例如: ```java package abcpackage; import xyzpackage.*; ``` 3. 一個類只能有一個包聲明,但它可以有多個包導入語句。例如: ```java package abcpackage; //This should be one import xyzpackage; import anotherpackage; import anything; ``` 4. 使用子包時,應謹慎使用`*`等通配符導入。例如:讓我們說:我們有一個包`abc`,在那個包中我們有另一個包`foo`,現在`foo`是一個子包。 `abc`中的類是:`Example1`,`Example2`和`Example3` `foo`中的類是:`Demo1`,`Demo2` 所以,如果我使用這樣的通配符導入包`abc`: ```java import abc.*; ``` 然后它只會導入類`Example1`,`Example2`和`Example3`,但它不會導入子包的類。 要導入子包的類,您需要像這樣導入: ```java import abc.foo.*; ``` 這將導入`Demo1`和`Demo2`,但不會導入`Example1`,`Example2`和`Example3`。 因此要導入包和子包中的所有類,我們需要使用兩個`import`語句,如下所示: ```java import abc.*; import abc.foo.*; ```
                  <ruby id="bdb3f"></ruby>

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

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看