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

Java超詳細介紹封裝與訪問控制修符

 更新時間:2022年05月13日 16:13:17   作者:花~盜  
封裝是一個非常廣泛的概念,小到一個屬性的封裝,大到一個框架或者一個項目的封裝,文中通過實例代碼將詳細介紹封裝與訪問控制修飾符

概念:我們在寫入一個類的時候,為了保護里邊的屬性不被隨意的調(diào)用這是我們可以使用特殊的修飾符進行相應(yīng)的保護,而這樣的話我們似乎只能在該類中調(diào)用使用了,出現(xiàn)某些特殊情況時就會無法發(fā)調(diào)用,雖然挺高了安全性但也降低了靈活性,這個時候我們的包裝類就出現(xiàn)了,我們通過對某個方法的進行特殊方法的包裝來對其進行相應(yīng)的調(diào)用與賦值。就相當于銀行為了保護財產(chǎn)會選擇將金錢放進保險柜中來確保其的安全,但是當我們要取錢時,銀行就要拿鑰匙打開保險柜。修飾符相當于銀行的保險柜,封裝相當于保險柜的鑰匙。

訪問修飾符如下:

1) public 公共控制修飾符

2) protected 保護訪問控制修飾符

3) default 缺省默認控制修飾符

4) private 私有訪問控制符

它們的訪問權(quán)限如下圖:

包裝的特點:

1)便于正確使用系統(tǒng),防止錯誤修改屬性

2)有助于系統(tǒng)之間的松耦合,提高系獨立性

3)提高軟件的重用性

4)降低了構(gòu)建大型系統(tǒng)的風險

包裝的快捷鍵:

大部分的編譯軟件都有相應(yīng)的包裝快捷鍵就例如我用的開發(fā)工具idea就像相對應(yīng)的get()set()有參無參構(gòu)造方法如下圖

我們右鍵單擊后會出現(xiàn)相應(yīng)選項我們點擊Generate,也有相應(yīng)的快捷鍵Alt+Insert直接打開Generate

進入Generate后我們選擇Constructor

該選項是選擇無參和有參構(gòu)造的,我們?nèi)x點擊OK即可將所有的私有屬性進行有參構(gòu)造,點擊

Select None則是進行無參構(gòu)造

再次進入Generate后我們選擇Getter and Setter

該選項是構(gòu)造方法引入和修改私有屬性,Getter()表示獲屬性,Setter()表示修改屬性,進入后我們?nèi)x點擊OK,就可以進行構(gòu)造。

測試類代碼如下:

package com.ytzl.total;
/*封裝類*/
public class test {
    public static void main(String[] args) {
        //實例化一個對象
        encapsulation encapsulation = new encapsulation();
        System.out.println("通過封裝方法獲取封裝類中的私有屬性==>"+encapsulation.getA());
        System.out.println("通過封裝方法獲取封裝類中的私有屬性==>"+encapsulation.getB());
        //我們也可以通過相應(yīng)的構(gòu)造方法來改變風種類中的私有屬性
        encapsulation.setA(20);
        encapsulation.setB("被是同相應(yīng)的構(gòu)造方法進行改變");
        System.out.println("通過封裝方法獲取封裝類中的私有屬性==>"+encapsulation.getA());
        System.out.println("通過封裝方法獲取封裝類中的私有屬性==>"+encapsulation.getB());
        //我們也可以通過封裝方法來改變封裝類中的私有屬性
        encapsulation encapsulation1 = new encapsulation(10,"被調(diào)用方法改變后");
        System.out.println("通過調(diào)用方法類來改變封裝類中的私有屬性后==>"+encapsulation1.getA());
        System.out.println("通過調(diào)用方法類來改變封裝類中的私有屬性后==>"+encapsulation1.getB());
    }
}

實體類代碼如下:

package com.ytzl.total;
public class encapsulation {
    private int a=8;
    private String b="私有屬性";
    public encapsulation() {
    }
    //如果需要在調(diào)用方法中改變私有屬性需要調(diào)用該有參方法
    public encapsulation(int a, String b) {
        this.a = a;
        this.b = b;
    }
    public int getA() {
        return a;
    }
    public void setA(int a) {
        this.a = a;
    }
    public String getB() {
        return b;
    }
    public void setB(String b) {
        this.b = b;
    }
}

運行結(jié)果如下:

到此這篇關(guān)于Java超詳細介紹封裝與訪問控制修符的文章就介紹到這了,更多相關(guān)Java封裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring中@Scheduled和HttpClient的連環(huán)坑

    Spring中@Scheduled和HttpClient的連環(huán)坑

    這篇文章主要給大家介紹了關(guān)于Spring中@Scheduled和HttpClient的連環(huán)坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-03-03
  • Springboot中分析SQL性能的兩種方式詳解

    Springboot中分析SQL性能的兩種方式詳解

    文章介紹了SQL性能分析的兩種方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置簡單,適用于開發(fā)和測試環(huán)境,但高版本已棄用;p6spy框架功能更強大,可以自定義日志輸出格式,但在生產(chǎn)環(huán)境中使用需謹慎,感興趣的朋友一起看看吧
    2025-02-02
  • Java線程池7個參數(shù)的詳細含義

    Java線程池7個參數(shù)的詳細含義

    java多線程開發(fā)時,常常用到線程池技術(shù),這篇文章是對創(chuàng)建java線程池時的七個參數(shù)的詳細解釋,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 簡單談?wù)凷truts動態(tài)表單(DynamicForm)

    簡單談?wù)凷truts動態(tài)表單(DynamicForm)

    下面小編就為大家?guī)硪黄唵握務(wù)凷truts動態(tài)表單(DynamicForm)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java?Date類的使用方式(日期處理)

    Java?Date類的使用方式(日期處理)

    本文介紹了Java中的Date類和Calendar類的使用,詳細講解了Date類的構(gòu)造方法和常用方法,并通過一個實例演示了如何使用Date類來比較兩個時間點之間的關(guān)系
    2024-11-11
  • 一分鐘入門Java Spring Boot徹底解決SSM配置問題

    一分鐘入門Java Spring Boot徹底解決SSM配置問題

    Spring Boot是由Pivotal團隊提供的全新框架,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域成為領(lǐng)導者
    2021-10-10
  • Java中前端傳參含有“+”“=”等特殊字符處理方式

    Java中前端傳參含有“+”“=”等特殊字符處理方式

    這篇文章主要介紹了Java中前端傳參含有“+”“=”等特殊字符處理,比如“+”如果不經(jīng)過處理,傳到Java后臺之后,就變成空格了,“=”就直接沒了,本文對這一問題給大家詳細講解,需要的朋友可以參考下
    2023-10-10
  • Spring 使用Validation 驗證框架的問題詳解

    Spring 使用Validation 驗證框架的問題詳解

    Spring Boot在內(nèi)部通過集成hibernate-validation已經(jīng)實現(xiàn)了JSR-349驗證規(guī)范接口,在Spring Boot項目中只要直接使用就行了。 一般用在Controller中用于驗證前端傳來的參數(shù)。這篇文章給大家介紹Spring Validation 驗證框架的相關(guān)知識,感興趣的朋友一起看看吧
    2021-07-07
  • 詳解java爬蟲jsoup解析多空格class數(shù)據(jù)

    詳解java爬蟲jsoup解析多空格class數(shù)據(jù)

    在本篇內(nèi)容中小編給大家分享了java爬蟲jsoup怎么解析多空格class數(shù)據(jù)的方法和技巧,需要的朋友們跟著學習下。
    2018-12-12
  • Java如何調(diào)用wsdl的webservice接口

    Java如何調(diào)用wsdl的webservice接口

    這篇文章主要介紹了Java如何調(diào)用wsdl的webservice接口問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05

最新評論

怀安县| 昭觉县| 马龙县| 上饶市| 东阿县| 鲁山县| 仪征市| 南涧| 鹿泉市| 陇西县| 贵南县| 皋兰县| 邵东县| 防城港市| 永济市| 梅州市| 涞水县| 东至县| 郸城县| 宜兰县| 丰原市| 堆龙德庆县| 沅江市| 闵行区| 诏安县| 友谊县| 甘南县| 唐海县| 谢通门县| 尤溪县| 孝义市| 石楼县| 乌鲁木齐市| 武汉市| 鄂尔多斯市| 禹城市| 凌海市| 策勒县| 泰和县| 大足县| 山西省|