最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一篇文章帶你深入了解Java封裝

 更新時(shí)間:2021年08月01日 09:36:04   作者:Wxbbbbb  
Java中的封裝是將數(shù)據(jù)(變量)和作用于數(shù)據(jù)(方法)的代碼作為一個單元包裝在一起的機(jī)制。 在封裝中,類的變量將從其他類隱藏,并且只能通過當(dāng)前類的方法訪問

如何實(shí)現(xiàn)封裝

可以分為兩步:

第一步:將類的變量聲明為private。

第二步:提供公共set和get方法來修改和獲取變量的值。

代碼展示

public class User {
    private String name;
    private int age;
    private int id;
    private String address;
    public int getAge(){
        return age;
    }
    public String getName(){
        return name;
    }
    public int getId(){
        return id;
    }
    public String getAddress(){
        return address;
    }
    public void setName(String Newname){
        name = Newname;
    }
    public void setAge(int Newage){
        age = Newage;
    }
    public void setAddress(String Newaddress){
        address= Newaddress;
    }
}

class Mainclass{
     public static void main(String[] args) {
        User user = new User();
        user.setAge(18);
        user.setName("Kevin");
        user.setAddress("江蘇");
        System.out.println("Name:"+user.getName()+",Age:"+user.getAge());
    }
}

上面就是一個寫好的封裝啦 但是有很多用戶,很多屬性,寫起來就很麻煩,下面提供一種一行代碼搞定的方法

構(gòu)造方法

public User{
// 方法名與類名同名 沒有返回值結(jié)構(gòu) 其他與普通方法無異
}

注意點(diǎn):

對于每個類而言,都默認(rèn)具有一個隱式的空參數(shù)構(gòu)造方法 如果顯式寫了任意一個構(gòu)造方法,空參數(shù)構(gòu)造方法都會被覆蓋

代碼展示

public class User {
    private String name;
    private int age;
    private int id;
    private String address;
    public User(String name, int age, int id, String address) {
        this.name = name;
        this.age = age;
        this.id = id;
        this.address = address;
    }


    public int getAge(){
        return age;
    }
    public String getName(){
        return name;
    }
    public int getId(){
        return id;
    }
    public String getAddress(){
        return address;
    }
    public void setName(String Newname){
        name = Newname;
    }
    public void setAge(int Newage){
        age = Newage;
    }
    public void setAddress(String Newaddress){
        address= Newaddress;
    }
    public void setId(int Newid){
        id = Newid;}
}


class Mainclass{
     public static void main(String[] args) {
        User user = new User("kevin",18,001,"江蘇");//一行代碼就能賦值啦

        System.out.println("Name:"+user.getName()+",Age:"+user.getAge());
    }
}

總結(jié)

封裝的優(yōu)點(diǎn)

  1. 良好的封裝能夠減少耦合。
  2. 類內(nèi)部的結(jié)構(gòu)可以自由修改。
  3. 可以對成員變量進(jìn)行更精確的控制。
  4. 隱藏信息,實(shí)現(xiàn)細(xì)節(jié)。

本篇文章就到這里了,希望能給你帶來幫助,也希望您關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 詳解Mybatis動態(tài)sql

    詳解Mybatis動態(tài)sql

    MyBatis的動態(tài)SQL是基于OGNL表達(dá)式的,它可以幫助我們方便的在SQL語句中實(shí)現(xiàn)某些邏輯。本文給大家介紹Mybatis動態(tài)sql小結(jié),感興趣的朋友參考下
    2016-04-04
  • SpringBoot AOP控制Redis自動緩存和更新的示例

    SpringBoot AOP控制Redis自動緩存和更新的示例

    今天小編就為大家分享一篇關(guān)于SpringBoot AOP控制Redis自動緩存和更新的示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 在?Spring?Boot?中使用?Quartz?調(diào)度作業(yè)的示例詳解

    在?Spring?Boot?中使用?Quartz?調(diào)度作業(yè)的示例詳解

    這篇文章主要介紹了在?Spring?Boot?中使用?Quartz?調(diào)度作業(yè)的示例詳解,在本文中,我們將看看如何使用Quartz框架來調(diào)度任務(wù),Quartz支持在特定時(shí)間運(yùn)行作業(yè)、重復(fù)作業(yè)執(zhí)行、將作業(yè)存儲在數(shù)據(jù)庫中以及Spring集成,需要的朋友可以參考下
    2022-07-07
  • 如何為Spring Cloud Gateway加上全局過濾器

    如何為Spring Cloud Gateway加上全局過濾器

    這篇文章主要介紹了如何為Spring Cloud Gateway加上全局過濾器,幫助大家更好得理解和學(xué)習(xí)使用Gateway,感興趣的朋友可以了解下
    2021-03-03
  • mybatis使用collection嵌套查詢的實(shí)現(xiàn)

    mybatis使用collection嵌套查詢的實(shí)現(xiàn)

    本文主要介紹了mybatis使用collection嵌套查詢的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • springboot集成opencv實(shí)現(xiàn)人臉識別功能的詳細(xì)步驟

    springboot集成opencv實(shí)現(xiàn)人臉識別功能的詳細(xì)步驟

    大家都知道OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫,可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上今天通過本文給大家分享springboot集成opencv實(shí)現(xiàn)人臉識別,感興趣的朋友一起看看吧
    2021-06-06
  • Jpa?Specification如何實(shí)現(xiàn)and和or同時(shí)使用查詢

    Jpa?Specification如何實(shí)現(xiàn)and和or同時(shí)使用查詢

    這篇文章主要介紹了Jpa?Specification如何實(shí)現(xiàn)and和or同時(shí)使用查詢,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java多線程通過CompletableFuture組裝異步計(jì)算單元

    java多線程通過CompletableFuture組裝異步計(jì)算單元

    這篇文章主要為大家介紹了java多線程通過CompletableFuture組裝異步計(jì)算單元,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • JAVA實(shí)現(xiàn)二維碼生成加背景圖代碼實(shí)例

    JAVA實(shí)現(xiàn)二維碼生成加背景圖代碼實(shí)例

    這篇文章主要介紹了JAVA實(shí)現(xiàn)二維碼生成加背景圖代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 如何實(shí)現(xiàn)java遞歸 處理權(quán)限管理菜單樹或分類

    如何實(shí)現(xiàn)java遞歸 處理權(quán)限管理菜單樹或分類

    這篇文章主要介紹了如何實(shí)現(xiàn)java遞歸 處理權(quán)限管理菜單樹或分類,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01

最新評論

南靖县| 长春市| 拜城县| 固始县| 改则县| 新沂市| 平潭县| 嘉定区| 通化县| 科技| 贺兰县| 平遥县| 阳原县| 平山县| 华安县| 深泽县| 绿春县| 宁远县| 肇州县| 纳雍县| 依兰县| 马龙县| 开江县| 靖宇县| 梅河口市| 布尔津县| 富顺县| 化德县| 呼和浩特市| 那曲县| 青州市| 辉南县| 临朐县| 赞皇县| 株洲县| 汉源县| 阆中市| 湘潭县| 元朗区| 分宜县| 涿州市|