亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

示例解析java面向對象編程封裝與訪問控制

 更新時間:2023年05月30日 09:35:25   作者:移動安全星球  
這篇文章主要為大家介紹了java封裝與訪問控制的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

封裝(Encapsulation)

是面向對象編程的一個核心概念,它意味著將數據(屬性)和方法(操作數據的函數)捆綁在一起,形成一個類(Class)。封裝的目的是將數據和操作數據的方法隱藏起來,以防止外部對數據的直接訪問。這樣,我們就可以通過定義公共接口(Public Interface)來控制外部對類的訪問,提高代碼的可維護性和安全性。

Java 提供了四種訪問修飾符(Access Modifier)來實現(xiàn)封裝,它們分別是:public、private、protected 和不寫(默認)。訪問修飾符可以修飾類的屬性和方法,不同的訪問修飾符有不同的訪問權限。

  • public:最高權限,表示該屬性或方法可以被任何其他類訪問。
  • private:最低權限,表示該屬性或方法只能被其所在的類訪問。
  • protected:較低權限,表示該屬性或方法可以被其所在類及其子類和同一包中的其他類訪問。
  • 默認:表示該屬性或方法可以被其所在類和同一包中的其他類訪問,但不能被子類訪問。

通過案例了解這四種訪問修飾符

// 位于包 com.example 的 Person 類
package com.example;
public class Person {
    public String name;        // 公共屬性,任何類都可以訪問
    private int age;           // 私有屬性,只能在 Person 類中訪問
    protected String address;  // 受保護屬性,可以在 Person 類,同一包中的類和子類中訪問
    String phoneNumber;        // 默認屬性,可以在 Person 類和同一包中的類訪問,但不能被子類訪問
    public void sayHello() {   // 公共方法,任何類都可以訪問
        System.out.println("Hello! I am " + name);
    }
    private void growUp() {    // 私有方法,只能在 Person 類中訪問
        age++;
    }
    protected void changeAddress(String newAddress) { // 受保護方法,可以在 Person 類,同一包中的類和子類中訪問
        address = newAddress;
    }
    void updatePhoneNumber(String newNumber) { // 默認方法,可以在 Person 類和同一包中的類訪問,但不能被子類訪問
        phoneNumber = newNumber;
    }
}
// 位于包 com.example 的 Employee 類
package com.example;
public class Employee extends Person {
    public void work() {
        sayHello();            // 可以訪問父類的公共方法 sayHello
        changeAddress("New York"); // 可以訪問父類的受保護方法 changeAddress
    }
}
// 位于包 com.other 的 Another 類
package com.other;
import com.example.Person;
public class Another {
    public void test() {
        Person person = new Person();
        person.sayHello();     // 可以訪問 Person 類的公共方法 sayHello
    }
}

這個例子中,Person 類有四個屬性和四個方法,分別使用了四種不同的訪問修飾符。Employee 類繼承了 Person 類,可以訪問其公共方法和受保護方法。Another 類雖然不在同一包中,但是可以訪問 Person 類的公共方法。

當我們設計類時,應該盡量將屬性設置為 private,并通過公共方法(如 getter 和 setter)來訪問這些屬性。這樣做可以確保類的實現(xiàn)細節(jié)不會泄露給外部,提高代碼的可維護性和安全性。

總結

封裝和訪問控制是面向對象編程的核心概念之一。通過使用訪問修飾符,我們可以限制類的屬性和方法的訪問權限,從而保護類的實現(xiàn)細節(jié)。理解這些概念并在實際編程中應用它們,可以幫助我們編寫更加健壯、可維護的代碼。

以上就是示例解析java封裝與訪問控制的詳細內容,更多關于java封裝訪問控制的資料請關注腳本之家其它相關文章!

相關文章

  • java常用API介紹之包裝類

    java常用API介紹之包裝類

    這篇文章主要介紹了java常用API介紹之包裝類,API,即Application Programming Interface,中文名稱是“應用程序接口",這些接口就是"jdk所提供"給我們使用的類,需要的朋友可以參考下
    2023-04-04
  • 基于java中正則操作的方法總結

    基于java中正則操作的方法總結

    本篇文章介紹了,在java中正則操作的方法總結。需要的朋友參考下
    2013-05-05
  • 使用SpringMVC在redirect重定向的時候攜帶參數的問題

    使用SpringMVC在redirect重定向的時候攜帶參數的問題

    這篇文章主要介紹了使用SpringMVC在redirect重定向的時候攜帶參數的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 在IDEA中配置tomcat并創(chuàng)建tomcat項目的圖文教程

    在IDEA中配置tomcat并創(chuàng)建tomcat項目的圖文教程

    這篇文章主要介紹了在IDEA中配置tomcat并創(chuàng)建tomcat項目的圖文教程,需要的朋友可以參考下
    2020-07-07
  • Java中JFrame實現(xiàn)無邊框無標題方法

    Java中JFrame實現(xiàn)無邊框無標題方法

    這篇文章主要介紹了Java中JFrame實現(xiàn)無邊框無標題方法,本文直接給出代碼實例,需要的朋友可以參考下
    2015-05-05
  • JAVA的反射機制你了解多少

    JAVA的反射機制你了解多少

    這篇文章主要為大家詳細介紹了JAVA的反射機制,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Java中Sentinel框架詳解

    Java中Sentinel框架詳解

    Sentinel是一個高可用、高擴展、高穩(wěn)定性的開源流量控制和熔斷降級框架,可以在分布式系統(tǒng)中實現(xiàn)實時的流量控制,防止系統(tǒng)因流量過大導致系統(tǒng)崩潰和服務降級,Sentinel面向所有的Java應用,本文就給大家詳細介紹一下Java中Sentinel框架,需要的朋友可以參考下
    2023-06-06
  • 詳解SpringBoot中Controller接收對象列表實現(xiàn)

    詳解SpringBoot中Controller接收對象列表實現(xiàn)

    這篇文章主要介紹了詳解SpringBoot中Controller接收對象列表實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • JAVA如何調用wsdl過程詳解

    JAVA如何調用wsdl過程詳解

    這篇文章主要介紹了JAVA如何調用wsdl過程詳解,文中介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 在Java中將List轉換為String輸出過程解析

    在Java中將List轉換為String輸出過程解析

    這篇文章主要介紹了在Java中將List轉換為String輸出過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09

最新評論