1:成員變量和局部變量的區(qū)別
(1)在類中的位置不同
? 成員變量:類中方法外
? 局部變量:方法定義中或者方法申明上
(2)在內(nèi)存中的位置不同
? 成員變量:在堆中
? 局部變量:在棧中
(3)生命周期不同
? 成員變量:隨著對象的創(chuàng)建而存在,隨著對象的消失而消失
? 局部變量:隨著方法的調(diào)用而存在,隨著方法的調(diào)用完畢而消失
? 初始化值不同:
? ? 成員變量:有默認值
? ? 局部變量:沒有默認值,必須定義,賦值,然后才能使用
2:類作為形式參數(shù)的問題
? 如果你看到一個方法需要的參數(shù)是一個類名,就應該知道這里實際需要的是一個具體的對象。
3:匿名對象
(1)沒有名字的對象
(2)應用場景
? A:調(diào)用方法,僅僅只調(diào)用一次的時候。
? B:可以作為實際參數(shù)傳遞。
4:封裝
(1)隱藏實現(xiàn)細節(jié),提供公共的訪問方式
(2)好處:
? A:隱藏實現(xiàn)細節(jié),提供公共的訪問方式
? B:提高代碼的復用性
? C:提高代碼的安全性
(3)設(shè)計原則
? 把不想讓外界知道的實現(xiàn)細節(jié)給隱藏起來,提供公共的訪問方式
(4)private也是封裝的一中體現(xiàn):
? 封裝:類,方法,private修飾成員變量
5:private關(guān)鍵字
(1)私有的意思,可以修飾成員變量和成員方法
(2)特點:
? 被private修飾后的成員只能在本類中被訪問
(3)private的應用:
? 以后再寫一個類的時候:
? ? 把所有的成員變量給private了
? ? 提供對應的getXxx()/setXxx()方法
6:this關(guān)鍵字
(1)代表當前類的引用對象
? 記?。耗膫€對象調(diào)用方法,該方法內(nèi)部的this就代表那個對象
(2)this的應用場景:
? A:解決了局部變量隱藏成員變量的問題
? B:其實this還有其他的作用,后面再講
7:構(gòu)造方法
(1)作用:用于對對象的數(shù)據(jù)進行初始化
(2)格式:
? A:方法名同類名相同
? B:沒有返回值類型,連void都不能有
? C:沒有返回值
思考:構(gòu)造方法中可以有return語句嗎?
? ? 可以:而是我們寫成這個樣子就ok了:return;
? ? 其實,在任何的void類型的方法的最后都可以寫上:return;
(3)構(gòu)造方法的注意事項
? A:如果我們沒寫構(gòu)造方法,系統(tǒng)將提供一個默認的無參構(gòu)造方法
? B:如果我們給出了構(gòu)造方法,系統(tǒng)將不再提供默認構(gòu)造方法
(4)給成員變量賦值的方式
? A:setXxx()
? B:帶參構(gòu)造方法