(1)在類中的位置不同
成員變量:類中 方法外
局部變量:方法中
(2)在內(nèi)存中的位置不同
成員變量:在堆中
局部變量:在棧中
(3)生命周期不同
成員變量:隨著對(duì)象的創(chuàng)建而存在,隨著對(duì)象得到消失而消失
局部變量:隨著方法的調(diào)用而存在,隨著方法的調(diào)用完畢而消失
(4)初始化值不同:
成員變量:有默認(rèn)值
局部變量:沒有默認(rèn)值,必須定義,賦值,然后才能使用
2.匿名對(duì)象
(1)沒有名字的對(duì)象
(2)應(yīng)用場(chǎng)景:
A:調(diào)用方法,僅僅只調(diào)用一次的時(shí)候
B:可以作為實(shí)際參數(shù)傳遞
3.PRivate關(guān)鍵字
(1)私有的意義:
可以修飾 成員變量 和 成員方法
(2)特點(diǎn):
被private修飾后的成員 只能在本類中被訪問
(3)private的應(yīng)用:
把所有的成員變量給private了,提供對(duì)應(yīng)的getXxx()/setXxx()方法
4.this關(guān)鍵字
(1)代表當(dāng)前類的引用對(duì)象
(2)this的應(yīng)用場(chǎng)景
5.構(gòu)造方法
(1)作用:
用于對(duì)對(duì)象的數(shù)據(jù)進(jìn)行初始化
(2)格式:
A:方法名 和 類名 相同
B:沒有返回值類型,連void都不能有,所有的方法其實(shí)都可以有 【return;】
C:沒有返回值
(3)構(gòu)造方法的注意事項(xiàng)
A:如果我們沒寫構(gòu)造方法,系統(tǒng)將提供一個(gè)默認(rèn)的無參數(shù)的構(gòu)造方法
B:如果我們給出了構(gòu)造方法,系統(tǒng)將不再提供一個(gè)默認(rèn)的構(gòu)造方法
(4)給成員變量賦值的方法
A:setXxx()
B:帶參數(shù)的構(gòu)造方法
6.static關(guān)鍵字的理解
(1)靜態(tài)的意思:
可以修飾成員變量 和成員方法
(2)靜態(tài)的特點(diǎn):
A:隨著類的加載而加載
B:優(yōu)先于對(duì)象存在
C:被類的所有對(duì)象共享
D:可以通過類名調(diào)用
(3)靜態(tài)的內(nèi)存圖
靜態(tài)的內(nèi)容在方法區(qū)的靜態(tài)區(qū)
(4)靜態(tài)的注意事項(xiàng):
A:在靜態(tài)方法中沒有this對(duì)象
B:靜態(tài)只能 訪問靜態(tài)
(5)靜態(tài)變量和成員變量的區(qū)別
A:所屬不同:
【靜態(tài)變量:屬于類,類變量】
【成員變量:屬于對(duì)象,對(duì)象變量,實(shí)例變量】
B:內(nèi)存位置不同:
【靜態(tài)變量:方法區(qū)的靜態(tài)區(qū)】
【成員變量:堆內(nèi)存】
C:生命周期不同:
【靜態(tài)變量:靜態(tài)變量是隨類的加載而加載,隨著類的消失而消失】
【成員變量:成員變量是隨對(duì)象的創(chuàng)建而存在,隨著對(duì)象的消失而消失】
D:調(diào)用方式不同:
【靜態(tài)變量:可以通過對(duì)象名調(diào)用,也可以通過類名調(diào)用】
【成員變量:只能通過對(duì)象名調(diào)用】
①類中沒有聲明public權(quán)限,則類中的方法就算是public
7.main方法的理解
public:權(quán)限最大
static:不用創(chuàng)建對(duì)象就可以調(diào)用
void:return是返回給調(diào)用者的,返回給jvm沒有意義
main:就是一個(gè)常見的名稱(很多語言是以main為起點(diǎn)的)
String[] args:可以接受 數(shù)據(jù),提供程序的靈活性,現(xiàn)在有Scanner更強(qiáng)大
8.創(chuàng)建對(duì)象的過程
分析:
1.把Student.class文件加載到內(nèi)存,在棧內(nèi)存為stu開辟空間,開始?jí)簵?/p>
1.1在堆內(nèi)存中 為Student對(duì)象申請(qǐng)空間
1.2該堆內(nèi)存中 有個(gè)指向方法區(qū)的地址,里面包含了Student類中的方法
2.準(zhǔn)備調(diào)用setName(String sName)方法,把setName()壓棧,調(diào)用結(jié)束后,出棧
3.準(zhǔn)備調(diào)用getName()方法,把getName()壓棧,調(diào)用結(jié)束后,出棧
4.準(zhǔn)備調(diào)用SayHi(String sName)方法,把SayHi(String sName)壓棧,調(diào)用結(jié)束后,出棧
5.結(jié)束main()的調(diào)用,main()出棧
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注