欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一篇文章帶你入門(mén)Java封裝

 更新時(shí)間:2021年08月03日 09:57:13   作者:Wxbbbbb  
Java面向?qū)ο蟮娜筇匦裕悍庋b、繼承、多態(tài)。下面對(duì)三大特性之一封裝進(jìn)行了總結(jié),需要的朋友可以參考下,希望能給你帶來(lái)幫助

什么是封裝

Java中的封裝是將數(shù)據(jù)(變量)和作用于數(shù)據(jù)(方法)的代碼作為一個(gè)單元包裝在一起的機(jī)制。 在封裝中,類(lèi)的變量將從其他類(lèi)隱藏,并且只能通過(guò)當(dāng)前類(lèi)的方法訪(fǎng)問(wèn)。

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

可以分為兩步:

第一步:將類(lèi)的變量聲明為private。

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

代碼展示

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è)寫(xiě)好的封裝啦 但是有很多用戶(hù),很多屬性,寫(xiě)起來(lái)就很麻煩,下面提供一種一行代碼搞定的方法

構(gòu)造方法

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

注意點(diǎn):

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

代碼展示

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)

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

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

相關(guān)文章

  • Shiro集成Spring之注解示例詳解

    Shiro集成Spring之注解示例詳解

    Shiro想必大家都知道了,是目前使用率要比spring security都要多的一個(gè)權(quán)限框架,下面這篇文章主要給大家介紹了關(guān)于Shiro集成Spring之注解的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-09-09
  • SpringBoot文件訪(fǎng)問(wèn)映射如何實(shí)現(xiàn)

    SpringBoot文件訪(fǎng)問(wèn)映射如何實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot文件訪(fǎng)問(wèn)映射如何實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • SpringCloud Eureka的使用教程

    SpringCloud Eureka的使用教程

    這篇文章主要給大家介紹了關(guān)于SpringCloud Eureka使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • IDEA下SpringBoot指定配置文件啟動(dòng)項(xiàng)目的全過(guò)程

    IDEA下SpringBoot指定配置文件啟動(dòng)項(xiàng)目的全過(guò)程

    我們?cè)谑褂胹pringboot項(xiàng)目開(kāi)發(fā)的時(shí)候,每次切換環(huán)境跑項(xiàng)目的時(shí)候,都得修改配置文件的數(shù)據(jù)庫(kù)地址,這樣來(lái)回修改感覺(jué)很麻煩,這篇文章主要給大家介紹了關(guān)于IDEA下SpringBoot指定配置文件啟動(dòng)項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • Java項(xiàng)目部署的完整流程(超詳細(xì)!)

    Java項(xiàng)目部署的完整流程(超詳細(xì)!)

    我相信很多Java新手都會(huì)遇到這樣一個(gè)問(wèn)題,跟著教材敲代碼,很容易,但是讓他完整的實(shí)現(xiàn)一個(gè)應(yīng)用項(xiàng)目卻不會(huì),下面這篇文章主要給大家介紹了關(guān)于Java項(xiàng)目部署的完整流程,需要的朋友可以參考下
    2022-07-07
  • Gson序列化指定忽略字段的三種寫(xiě)法詳解

    Gson序列化指定忽略字段的三種寫(xiě)法詳解

    在我們?nèi)粘J褂胘son序列化框架過(guò)程中,經(jīng)常會(huì)遇到在輸出json字符串時(shí),忽略某些字段,那么在Gson框架中,要想實(shí)現(xiàn)這種方式,可以怎么處理呢,本文就來(lái)介紹一下
    2021-10-10
  • 詳解Guava中EventBus的使用

    詳解Guava中EventBus的使用

    EventBus是Guava的事件處理機(jī)制,是設(shè)計(jì)模式中觀(guān)察者模式(生產(chǎn)/消費(fèi)者編程模型)的優(yōu)雅實(shí)現(xiàn)。本文就來(lái)和大家聊聊EventBus的使用,需要的可以參考一下
    2022-12-12
  • Java中的NoSuchMethodException異常原因以及解決方案詳解

    Java中的NoSuchMethodException異常原因以及解決方案詳解

    這篇文章主要介紹了Java中的NoSuchMethodException異常原因以及解決方案詳解,NoSuchMethodException是Java反射機(jī)制中的異常,在嘗試通過(guò)反射獲取方法時(shí),找不到指定的方法,通常發(fā)生在調(diào)用?Class?對(duì)象的方法時(shí),當(dāng)方法名或方法參數(shù)不匹配時(shí)拋出該異常,需要的朋友可以參考下
    2024-02-02
  • Java實(shí)現(xiàn)推箱子游戲

    Java實(shí)現(xiàn)推箱子游戲

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)推箱子游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • java使用CompletableFuture分批處理任務(wù)實(shí)現(xiàn)

    java使用CompletableFuture分批處理任務(wù)實(shí)現(xiàn)

    本文主要介紹了java使用CompletableFuture分批處理任務(wù)實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07

最新評(píng)論