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

深入了解Java中成員變量與局部變量的使用與區(qū)別

 更新時間:2022年08月23日 09:56:13   作者:夏志121  
成員變量和局部變量在每種編程語言中都有涉及,本文將通過示例為大家詳細(xì)講講Java中成員變量與局部變量的使用與區(qū)別,感興趣的可以了解一下

一、成員變量和局部變量的區(qū)別

類中位置不同:成員變量(類中方法外)局部變量(方法內(nèi)部或方法聲明上)

內(nèi)存中位置不同:成員變量(堆內(nèi)存)局部變量(棧內(nèi)存)

生命周期不同:成員變量(隨著對象的存在而存在,隨著對象的消失而消失)局部變量(隨著方法的調(diào)用而存在,醉著方法的調(diào)用完畢而消失)

初始化值不同:成員變量(有默認(rèn)初始化值)局部變量(沒有默認(rèn)初始化值,必須先定義,賦值才能使用)

二、封裝

1.、封裝概述,是面向?qū)ο笕筇卣髦唬ǚ庋b,繼承,多態(tài)) 是面向?qū)ο缶幊陶Z言對客觀世界的模擬,客觀世界里成員變量都是隱藏在對象內(nèi)部的,外界是無法直接操作的

2.、封裝原則,將類的某些信息隱藏在類內(nèi)部,不允許外部程序直接訪問,而是通過該類提供的方法來實現(xiàn)對隱藏信息的操作和訪問 成員變量private,提供對應(yīng)的getXxx()/setXxx()方法

3.、封裝好處,通過方法來控制成員變量的操作,提高了代碼的安全性把代碼用方法進(jìn)行封裝,提高了代碼的復(fù)用性

private關(guān)鍵字

private是一個修飾符,可以用來修飾成員(成員變量,成員方法)

被private修飾的成員,只能在本類進(jìn)行訪問,針對private修飾的成員變量,如果需要被其他類使用,提供相應(yīng)的操作

提供“get變量名()”方法,用于獲取成員變量的值,方法用public修飾

提供“set變量名(參數(shù))”方法,用于設(shè)置成員變量的值,方法用public修飾

示例代碼:

/*
    學(xué)生類
 */
class Student {
    //成員變量
    String name;
    private int age;
    //提供get/set方法
    public void setAge(int a) {
        if(a<0 || a>120) {
            System.out.println("你給的年齡有誤");
        } else {
            age = a;
        }
    }
    public int getAge() {
        return age;
    }
    //成員方法
    public void show() {
        System.out.println(name + "," + age);
    }
}
/*
    學(xué)生測試類
 */
public class StudentDemo {
    public static void main(String[] args) {
        //創(chuàng)建對象
        Student s = new Student();
        //給成員變量賦值
        s.name = "小明";
        s.setAge(22);
        //調(diào)用show方法
        s.show();
    }
}    

private的使用

需求:定義標(biāo)準(zhǔn)的學(xué)生類,要求name和age使用private修飾,并提供set和get方法以及便于顯示數(shù)據(jù)的show方法,測試類中創(chuàng)建對象并使用,要求控制臺輸出 小李,22

代碼:

/*
    學(xué)生類
 */
class Student {
    //成員變量
    private String name;
    private int age;
    //get/set方法
    public void setName(String n) {
        name = n;
    }
    public String getName() {
        return name;
    }
    public void setAge(int a) {
        age = a;
    }
    public int getAge() {
        return age;
    }
    public void show() {
        System.out.println(name + "," + age);
    }
}
/*
    學(xué)生測試類
 */
public class StudentDemo {
    public static void main(String[] args) {
        //創(chuàng)建對象
        Student s = new Student();
        //使用set方法給成員變量賦值
        s.setName("小李");
        s.setAge(22);
        s.show();
        //使用get方法獲取成員變量的值
        System.out.println(s.getName() + "---" + s.getAge());
        System.out.println(s.getName() + "," + s.getAge());
    }
}

this關(guān)鍵字

this修飾的變量用于指代成員變量,其主要作用是(區(qū)分局部變量和成員變量的重名問題)

方法的形參如果與成員變量同名,不帶this修飾的變量指的是形參,而不是成員變量

方法的形參沒有與成員變量同名,不帶this修飾的變量指的是成員變量

public class Student {
    private String name;
    private int age;
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getAge() {
        return age;
    }
    public void show() {
        System.out.println(name + "," + age);
    }
}

注意:this代表當(dāng)前調(diào)用方法的引用,哪個對象調(diào)用的方法,this就代表哪一個對象

到此這篇關(guān)于深入了解Java中成員變量與局部變量的使用與區(qū)別的文章就介紹到這了,更多相關(guān)Java成員變量 局部變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java統(tǒng)計文件中每個字符出現(xiàn)的個數(shù)

    java統(tǒng)計文件中每個字符出現(xiàn)的個數(shù)

    這篇文章主要為大家詳細(xì)介紹了java統(tǒng)計文件中每個字符出現(xiàn)的個數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 解決kafka消息堆積及分區(qū)不均勻的問題

    解決kafka消息堆積及分區(qū)不均勻的問題

    這篇文章主要介紹了解決kafka消息堆積及分區(qū)不均勻的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 談?wù)勗贘ava發(fā)送郵件中遇到的的問題

    談?wù)勗贘ava發(fā)送郵件中遇到的的問題

    本文介紹了在利用Java發(fā)送郵件過程中遇到的的兩個問題,以及如何解決這兩個問題。如果大家也遇到了這些問題,可以來參考借鑒。
    2016-08-08
  • SpringBoot應(yīng)用啟動失敗:端口占用導(dǎo)致Tomcat啟動失敗的問題分析與解決方法

    SpringBoot應(yīng)用啟動失敗:端口占用導(dǎo)致Tomcat啟動失敗的問題分析與解決方法

    在開發(fā)和運維過程中,應(yīng)用程序啟動失敗是我們經(jīng)常遇到的一個問題,尤其是在 Web 應(yīng)用程序中,涉及到 Web 服務(wù)器的配置時,今天我們將探討一個常見的啟動錯誤,尤其是在使用 Spring Boot 和內(nèi)嵌 Tomcat 服務(wù)器時,需要的朋友可以參考下
    2024-11-11
  • SpringBoot工程中Spring Security應(yīng)用實踐記錄流程分析

    SpringBoot工程中Spring Security應(yīng)用實踐記錄流程分析

    Spring Security是一個能夠為基于Spring的企業(yè)應(yīng)用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框架。這篇文章主要介紹了SpringBoot工程中Spring Security應(yīng)用實踐,需要的朋友可以參考下
    2021-09-09
  • Java線程休眠的5種方法

    Java線程休眠的5種方法

    這篇文章主要介紹了Java線程休眠的5種方法,分別是Thread.sleep、TimeUnit、wait、Condition、LockSupport,下面文章將對這五種方法進(jìn)行詳細(xì)講解,需要的小伙伴可以參考一下
    2022-05-05
  • Java多線程死鎖問題詳解(wait和notify)

    Java多線程死鎖問題詳解(wait和notify)

    線程之間形成相互等待資源的環(huán)時,就會形成順序死鎖,下面這篇文章主要給大家介紹了關(guān)于Java多線程死鎖問題(wait和notify)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • Java數(shù)據(jù)類型轉(zhuǎn)換的示例詳解

    Java數(shù)據(jù)類型轉(zhuǎn)換的示例詳解

    Java程序中要求參與的計算的數(shù)據(jù),必須要保證數(shù)據(jù)類型的一致性,如果數(shù)據(jù)類型不一致將發(fā)生類型的轉(zhuǎn)換。本文將通過示例詳細(xì)說說Java中數(shù)據(jù)類型的轉(zhuǎn)換,感興趣的可以了解一下
    2022-10-10
  • 詳解SpringBoot如何優(yōu)雅的處理免登錄接口

    詳解SpringBoot如何優(yōu)雅的處理免登錄接口

    在項目開發(fā)過程中,會有很多API接口不需要登錄就能直接訪問,比如公開數(shù)據(jù)查詢之類的,常規(guī)處理方法基本是 使用攔截器或過濾器,攔截需要認(rèn)證的請求路徑,本文介紹一個更優(yōu)雅的方法自定義注解的方式,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 詳解Java中的防抖和節(jié)流

    詳解Java中的防抖和節(jié)流

    防抖是將多次執(zhí)行變?yōu)橹付〞r間內(nèi)不在觸發(fā)之后,執(zhí)行一次。節(jié)流是將多次執(zhí)行變?yōu)橹付〞r間不論觸發(fā)多少次,時間一到就執(zhí)行一次。這篇文章來和大家聊聊Java中的防抖和節(jié)流,感興趣的可以了解一下
    2022-08-08

最新評論

肇州县| 叶城县| 姜堰市| 盘山县| 三亚市| 洪湖市| 赣州市| 始兴县| 孟连| 和平县| 容城县| 平远县| 诏安县| 嘉义县| 昌平区| 永城市| 青冈县| 嘉禾县| 舞阳县| 中方县| 广河县| 晋宁县| 腾冲县| 屯门区| 钟山县| 鱼台县| 栾川县| 石河子市| 包头市| 阿拉善左旗| 七台河市| 宽城| 志丹县| 扬州市| 安阳市| 开鲁县| 陇西县| 龙南县| 荥阳市| 平昌县| 秦皇岛市|