<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Java 訪問修飾符 > 原文: [https://howtodoinjava.com/oops/java-access-modifiers/](https://howtodoinjava.com/oops/java-access-modifiers/) Java 訪問修飾符 – 公共,受保護,私有和默認 Java 提供**四個訪問修飾符**來設置類,變量,方法和[構造器](https://howtodoinjava.com/oops/java-constructors/)的訪問級別,即**公共**,**私有**,和**默認**。 這些訪問級別修飾符確定其他類是否可以使用特定字段或調用特定方法。 ## 1\. Java 訪問修飾符 簡而言之,讓我們快速比較這些訪問修飾符。 1. **公開** – 隨處可見 2. **受保護** – 可在同一包和子類中訪問 3. **默認** – 僅在同一包中可訪問 4. **私有** – 僅可在同一類訪問 可以嚴格按以下順序將訪問說明符**排序為**: > **公共>受保護的>包私有(或默認)>私有** #### 1.1 公共 **公共可以從任何地方訪問**。可以從任何其他類訪問聲明為`public`的類,方法,構造器,接口等。 但是,如果我們嘗試訪問的公共類位于不同的包中,則仍然需要導入公共類。 ```java public class HelloWorld { private String format; public String getFormat() { return this.format; } public void setFormat(String format) { this.format = format; } } ``` 在上面的示例中,`getFormat()`和`setFormat()`方法是公共的,因此可以在任何地方訪問它們。 #### 1.2 受保護 **受保護的對象可以由同一包的類以及任何包中的子類訪問**。 受保護的訪問使子類有機會使用輔助方法或變量,同時防止了不相關的類嘗試使用它。 ```java public class HelloWorld { private String format; protected String getFormat() { return this.format; } protected void setFormat(String format) { this.format = format; } } ``` 在上述`HelloWorld`的示例中,變量`format`被聲明為`protected`,因此可以由存在`HelloWorld.java`的同一包中存在的所有類以及存在于其他包中的子類來訪問它。 #### 1.3 默認(包私有) 默認訪問修飾符意味著我們沒有明確聲明類,字段,方法等的訪問修飾符。**默認可以被同一包的類訪問**。 請注意,接口中的字段隱式為`public static final`,而接口中的方法默認為`public`。 ```java public class HelloWorld { String format; public String getFormat() { return this.format; } public void setFormat(String format) { this.format = format; } } ``` 在上述`HelloWorld`的示例中,變量`format`被聲明為`default`,因此可以由存在`HelloWorld.java`的同一包中的所有類訪問。 #### 1.4 私有 私有訪問修飾符是最嚴格的訪問級別。 (最高級)類和接口不能是私有的。 **私有成員僅可在同一類中訪問**。聲明為私有的方法,變量和構造器只能在聲明的類本身內訪問。 在上述`HelloWorld`的示例中,變量`format`被聲明為私有,因此沒有類可以直接訪問它。 必須通過公共方法`getFormat()`和`setFormat()`訪問它。 **訪問級別以兩種方式影響您。** 首先,當您使用其他來源的類時,訪問級別確定您自己的類可以使用那些類的成員。 其次,編寫類時,需要確定類中每個成員變量和每個方法應具有的訪問級別。 局部變量和形式參數不能使用訪問說明符。 由于根據作用域規則,它們本質上是外部無法訪問的,因此它們實際上是私有的。 如果其他程序員使用您的類,則要確保不會發生由于濫用而引起的錯誤。 訪問級別可以幫助您做到這一點。 ## 2\. 訪問控制級別 有**兩個級別的訪問控制**。 1. **類級別** - 允許的修飾符是`public`或包私有(默認)。 2. **方法級別** - 允許的修飾符為`public`,`private`,`protected`或包私有(默認)。 可以使用修飾符`public`聲明一個類,在這種情況下,該類對于所有地方的所有類都是可見的。 如果一個類沒有修飾符(默認,也稱為包私有),則僅在其自己的包中可見。 對于成員,還有兩個附加的訪問修飾符:`private`和`protected`。 `private`修飾符指定只能在其自己的類中訪問該成員。 `protected`修飾符指定成員只能在其自己的包中(與包私有一起)訪問,并且只能由其在另一個包中的類的子類訪問。 私有的和受保護的都可以(并且經常)應用于嵌套的類和接口,而絕不能應用于頂級類和接口。 學習愉快! 參考: [https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html](https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html)
                  <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>

                              哎呀哎呀视频在线观看