<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://www.programiz.com/java-programming/encapsulation](https://www.programiz.com/java-programming/encapsulation) #### 在本教程中,您將借助示例學習 Java 中的封裝和數據隱藏。 ## Java 封裝 封裝是面向對象編程的關鍵功能之一。 封裝是指將字段和方法綁定在單個類中。 將類中的相似字段和方法捆綁在一起也有助于隱藏數據。 * * * ## 封裝字段和方法 通常,封裝是將相似代碼包裝在一個地方的過程。 在 Java 中,我們可以將在單個類中一起操作的字段和方法捆綁在一起。 例如, ```java class Rectangle { int length; int breadth; public void getArea() {} } ``` 在上述程序中,方法`getArea()`計算矩形的面積。 要計算面積,需要`length`和`width`。 因此,數據字段`length`,`width`和方法`getArea()`保持在`Rectangle`類中。 * * * ## Java 數據隱藏 數據隱藏是一種通過隱藏實現細節來限制我們的數據成員訪問的方法。 封裝還提供了一種隱藏數據的方法。 可以通過訪問修飾符來實現數據隱藏。 在 Java 中,有四個訪問修飾符: * **公開** - 隨處可見 * **私有** - 僅在類內部可見 * **受保護** - 在包及其子類中可見 * **默認** - 在包內可見 要了解更多信息,請訪問 [Java 訪問修飾符](https://www.programiz.com/java-programming/access-modifiers)。 ### 示例 1:使用`private`的數據隱藏 ```java class Person { private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } } class Main { public static void main(String[] args) { Person p1 = new Person(); p1.setAge(24); System.out.println("My age is " + p1.getAge()); } } ``` **輸出** ```java My age is 24 ``` 在上面的示例中,我們有一個`private`字段`age`。 由于它是私有的,因此無法從類外部訪問它。 為了訪問`age`,我們使用了`public`方法`getAge()`和`setAge()`。 這些方法稱為獲取器和設置器方法。 如果嘗試從`Main`類訪問`age`字段,則會收到錯誤消息。 ```java p1.age = 24; // error: age has private access in Person ``` 通過將`age`設為私有,我們可以限制來自類外的未經授權的訪問。 這是數據隱藏。 * * * ### 示例 2:使用`protected`的數據隱藏 ```java class Person { protected String profession; protected void displayInfo() { System.out.println("I am a " + profession); } } class Teacher extends Person { public static void main(String[] args) { Teacher t1 = new Teacher(); t1.profession = "teacher"; t1.displayInfo(); } } ``` **輸出**: ```java I am a teacher ``` 在上述程序中,我們創建了一個`Person`類,其中包括`protected`字段`profession`和`protected`方法`displayInfo()`。 我們已經從`Teacher`類(這是`Person`的子類)中訪問了這些成員。 * * * ## 為什么要封裝? * 在 Java 中,封裝可幫助我們將相關的字段和方法保持在一起,這使我們的代碼更整潔且易于閱讀。 * 它有助于控制我們數據字段的修改。 考慮一種情況,我們希望類中的`age`字段為非負數。 在這里,我們可以確定年齡`private`并可以在方法`setAge()`中應用邏輯。 例如, ```java class Person { private int age; public void setAge(int age) { if (age >= 0) { this.age = age; } } } ``` * 獲取器和設置器方法提供對我們的類字段的只讀或只寫訪問。 例如, ```java getName() // provides read-only access setName() // provides write-only access ``` * 它有助于解耦系統的組件。 這些解耦的組件可以獨立且同時進行開發,測試和調試。 并且,特定組件的任何更改都不會對其他組件產生任何影響。 * * * ## 數據隱藏與封裝形式 人們通常將封裝視為數據隱藏,但這并非完全正確。 封裝是指將相關字段和方法捆綁在一起。 這使我們可以實現數據隱藏。 封裝本身并不是隱藏數據。
                  <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>

                              哎呀哎呀视频在线观看