第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

成員變量和局部變量

https://img1.sycdn.imooc.com//5c696e71000170dd08640527.jpg

  1. 作用域不同

    成員變量:整個類內部都可見;局部變量:僅局限于它的方法

  2. 初始值不同

    成員變量:Java會給其賦值,為0;局部變量:不會被賦值

  3. 同名問題

    同一方法不允許有同名局部變量;不同方法中可以有同名局部變量

  4. 局部變量具有更高的優(yōu)先級

正在回答

1 回答

成員變量與局部變量的區(qū)別

成員變量與局部變量的區(qū)別

1、在類中的位置不同

成員變量:在類中方法外面

局部變量:在方法或者代碼塊中,或者方法的聲明上(即在參數列表中)

2、在內存中的位置不同,可以看看Java程序內存的簡單分析

成員變量:在堆中(方法區(qū)中的靜態(tài)區(qū))

局部變量:在棧中

3、生命周期不同

成員變量:隨著對象的創(chuàng)建而存在,隨著對象的消失而消失

局部變量:隨著方法的調用或者代碼塊的執(zhí)行而存在,隨著方法的調用完畢或者代碼塊的執(zhí)行完畢而消失

4、初始值

成員變量:有默認初始值

局部變量:沒有默認初始值,使用之前需要賦值,否則編譯器會報錯(The local variable xxx may not have been initialized)

復制代碼

?1?package?demo;?2??3?public?class?VariableDemo?{?4?????String?name?=?"成員變量";?5??6?????public?static?void?main(String[]?args)?{?7?????????new?VariableDemo().show();?8?????}?9?10?????public?void?show()?{11?????????String?name?=?"局部變量";12?????????System.out.println(name);13?????}14?}

復制代碼

輸出結果:局部變量
我們看到輸出的是show方法中定義的name變量,在使用變量時遵循的原則是就近原則,那么如何訪問到成員變量name呢,Java中提供了this(表示調用對象本身)這個關鍵字用于訪問成員變量。

復制代碼

?1?package?demo;?2??3?public?class?VariableDemo?{?4?????String?name?=?"成員變量";?5??6?????public?static?void?main(String[]?args)?{?7?????????new?VariableDemo().show();?8?????}?9?10?????public?void?show()?{11?????????String?name?=?"局部變量";12?????????System.out.println(this.name);13?????}14?}

復制代碼

輸出結果:成員變量


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

成員變量和局部變量

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號