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

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

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

如何實現(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) 其他與普通方法無異
}

注意點:

對于每個類而言,都默認具有一個隱式的空參數(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)點

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

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

相關(guān)文章

  • 冒泡排序的原理及java代碼實現(xiàn)

    冒泡排序的原理及java代碼實現(xiàn)

    冒泡排序法:關(guān)鍵字較小的記錄好比氣泡逐趟上浮,關(guān)鍵字較大的記錄好比石塊下沉,每趟有一塊最大的石塊沉底。算法本質(zhì):(最大值是關(guān)鍵點,肯定放到最后了,如此循環(huán))每次都從第一位向后滾動比較,使最大值沉底,最小值上升一次,最后一位向前推進
    2016-02-02
  • MyBatis啟動時控制臺無限輸出日志的原因及解決辦法

    MyBatis啟動時控制臺無限輸出日志的原因及解決辦法

    這篇文章主要介紹了MyBatis啟動時控制臺無限輸出日志的原因及解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • CountDownLatch源碼解析之a(chǎn)wait()

    CountDownLatch源碼解析之a(chǎn)wait()

    這篇文章主要為大家詳細解析了CountDownLatch源碼之a(chǎn)wait方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Java中的SecretKeyFactory類使用詳解

    Java中的SecretKeyFactory類使用詳解

    這篇文章主要介紹了Java中的SecretKeyFactory類使用詳解,SecretKeyFactory表示私密密鑰的工廠,密鑰工廠用來將密鑰(類型 Key 的不透明加密密鑰)轉(zhuǎn)換為密鑰規(guī)范(底層密鑰材料的透明表示形式),需要的朋友可以參考下
    2024-01-01
  • Springboot+Shiro+Mybatis+mysql實現(xiàn)權(quán)限安全認證的示例代碼

    Springboot+Shiro+Mybatis+mysql實現(xiàn)權(quán)限安全認證的示例代碼

    Shiro是Apache?的一個強大且易用的Java安全框架,執(zhí)行身份驗證、授權(quán)、密碼學(xué)和會話管理,Shiro?主要分為兩個部分就是認證和授權(quán)兩部分,這篇文章主要介紹了Springboot+Shiro+Mybatis+mysql實現(xiàn)權(quán)限安全認證的示例代碼,需要的朋友可以參考下
    2024-07-07
  • 解決IDEA上循環(huán)依賴報錯問題Error:java: Annotation processing is not supported for module cycles

    解決IDEA上循環(huán)依賴報錯問題Error:java: Annotation processing&n

    這篇文章主要介紹了解決IDEA上循環(huán)依賴報錯問題Error:java: Annotation processing is not supported for module cycles,具有很好的參考價值,希望對大家有所幫助
    2023-10-10
  • Spring?boot?運用策略模式實現(xiàn)避免多次使用if的操作代碼

    Spring?boot?運用策略模式實現(xiàn)避免多次使用if的操作代碼

    這篇文章主要介紹了Spring?boot?運用策略模式實現(xiàn),避免多次使用if,使用策略模式后,新加一種支付策略時,只需要在策略枚舉中添加新加的策略信息,外加一個策略類即可,而不再需要添加新的if判斷,需要的朋友可以參考下
    2022-08-08
  • java中List對象排序通用方法

    java中List對象排序通用方法

    這篇文章主要介紹了java中List對象排序通用方法,涉及java針對List對象的操作技巧,需要的朋友可以參考下
    2015-05-05
  • 基于@ComponentScan注解及其XML配置方式

    基于@ComponentScan注解及其XML配置方式

    這篇文章主要介紹了基于@ComponentScan注解及其XML配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 解決MyBatis報錯:There is no getter for property named'Xxx'in'class xxx.xxx.Xxx'

    解決MyBatis報錯:There is no getter for 

    這篇文章主要介紹了解決MyBatis報錯:There is no getter for property named'Xxx'in'class xxx.xxx.Xxx'問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08

最新評論