<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://javatutorial.net/java-encapsulation-example](https://javatutorial.net/java-encapsulation-example) 此示例演示了 Java 編程語言中封裝的用法 ## 什么是封裝 封裝就是將變量和方法包裝在一個單元中。 封裝也稱為數據隱藏。 為什么? 因為,當您設計類時,您可以(并且應該)使變量對其他類隱藏,而提供處理數據的方法。 您的班級應設計成黑匣子。 您可以從外部(類)訪問多個方法,并且可以訪問每個方法的返回類型。 您需要了解的有關此類的所有信息是方法的名稱和返回類型。 換句話說,您為類提供了一些數據并獲得了新數據作為響應,而無需關心用于數據處理的內部機制。 封裝是[面向對象編程(OOP)](https://javatutorial.net/java-oop)背后的四個主要概念之一。 OOP 問題在求職面試中很常見,因此您可能會在下次 Java 求職面試中遇到有關封裝的問題。 要實現 Java 封裝: * 將一個類的變量聲明為私有。 * 提供公共的 setter 和 getter 方法來修改和查看變量值。 ## Java 封裝示例 ![Java encapsulation example](https://img.kancloud.cn/a3/0e/a30eb0ffd95a03583e3ac772d7edb124_401x213.jpg) Java 封裝示例 下面的示例演示 Java 中的封裝。 `Car`類具有兩個字段 - `name`和`topSpeed`。 兩者都聲明為私有,這意味著它們不能在類外部直接訪問。 吸氣和設置方法:`getName`,`setName`和`setTopSpeed`等已聲明為公開。 這些方法對“外部人員”開放,可用于更改和從`Car`對象檢索數據。 請注意,我們有一種方法可以設置車輛的最高速度,而有兩種吸氣方法可以以 MPH 或 KMH 檢索最大速度值。 這就是封裝的作用–它隱藏了實現并為我們提供了所需的值 ```java package net.javatutorial; public class Car { private String name; private double topSpeed; public Car() {} public String getName() { return name; } public void setName(String name) { this.name = name; } public void setTopSpeed(double speedMPH) { topSpeed = speedMPH; } public double getTopSpeedMPH() { return topSpeed; } public double getTopSpeedKMH() { return topSpeed * 1.609344; } } ``` 主程序使用給定名稱創建`Car`對象,并使用 setter 方法存儲此實例的最高速度。 現在,我們可以輕松獲得 MPH 或 KMH 中的速度,而無需關心`Car`類中的速度轉換方式。 ```java package net.javatutorial; public class EncapsulationExample { public static void main(String[] args) { Car car = new Car(); car.setName("Porsche Cayenne 4.8-litre V8"); car.setTopSpeed(173.0d); System.out.println(car.getName() + " top speed in MPH is " + car.getTopSpeedMPH()); System.out.println(car.getName() + " top speed in KMH is " + car.getTopSpeedKMH()); } } ``` 這是示例的輸出 ```java Porsche Cayenne 4.8-litre V8 top speed in MPH is 173.0 Porsche Cayenne 4.8-litre V8 top speed in KMH is 278.416512 ``` 讓我們總結一下封裝的好處: * 可以將類的字段設置為只讀或只寫。 * 一個類可以完全控制其字段中存儲的內容。 * 類的用戶不知道該類如何存儲其數據。 類可以更改字段的數據類型,并且該類的用戶不需要更改任何代碼。
                  <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>

                              哎呀哎呀视频在线观看