一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 一篇文章帶你深入了解Java封裝

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

2021-11-01 11:01Wxbbbbb Java教程

Java中的封裝是將數(shù)據(jù)(變量)和作用于數(shù)據(jù)(方法)的代碼作為一個單元包裝在一起的機制。 在封裝中,類的變量將從其他類隱藏,并且只能通過當前類的方法訪問

如何實現(xiàn)封裝

可以分為兩步:

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

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

代碼展示

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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)造方法

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

注意點:

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

代碼展示

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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)容!

原文鏈接:https://blog.csdn.net/wxbbbbb/article/details/119244976

延伸 · 閱讀

精彩推薦
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經(jīng)有好久沒有升過級了。升級完畢重啟之后,突然發(fā)現(xiàn)好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數(shù)據(jù)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發(fā)現(xiàn)了對于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7482021-02-04
  • Java教程Java實現(xiàn)搶紅包功能

    Java實現(xiàn)搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現(xiàn)搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發(fā)項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
主站蜘蛛池模板: les在宿舍吃她奶 | 校花被拖到野外伦小说 | 国产精品色图 | 亚洲午夜久久久久国产 | 午夜国产福利视频一区 | 欧美整片完整片视频在线 | 日韩免费一区 | 97视频免费人人观看人人 | 亚洲成人一区二区 | 色花堂中文字幕98堂网址 | 香蕉久久夜色精品国产尤物 | 免费在线观看网址入口 | 国产精品麻豆 | 欧美洲大黑香蕉在线视频 | 耽美肉文高h | 免费观看视频网站 | 日韩欧一级毛片在线播无遮挡 | 91次元成年破解版 | 亚洲欧美在线观看首页 | 亚洲国产成人久久午夜 | 国产欧美va欧美va香蕉在线观 | 国产老村长足疗店对白 | 天美影视文化传媒mv免费 | 成年人黄视频在线观看 | 久草在线精彩免费视频 | 欧美精品国产一区二区三区 | 国产成人在线视频 | 天天插综合网 | 天天干夜夜玩 | 国产午夜精品一区二区 | 羞羞漫画免费漫画页面在线看漫画秋蝉 | 欧美成人免费tv在线播放 | 欧美三级一区二区 | 国内精品免费一区二区三区 | 极品手交handjobtattoo | 99在线播放 | 俄罗斯bbbbbbbbb大片 | 久9视频这里只有精品123 | 99精品观看| 色戒真做gif动图 | 好 舒服 好 粗 好硬 好爽 |