1:成員變量和局部變量的區別
(1)在類中的位置不同
? ? ? ? ? 成員變量:類中方法外
? ? ? ? ? 局部變量:方法定義中或者方法聲明上
(2)在內存中的位置不同
? ? ? ? ? 成員變量:在堆中
? ? ? ? ? 局部變量:在棧中
(3)生命周期不同
? ? ? ? ? ?成員變量:隨著對象的創建而存在,隨著對象的消失而消失。
? ? ? ? ? ?局部變量:隨著方法的調用而存在,隨著方法的調用完畢而消失。
(4)初始化值不同
? ? ? ? ? ?成員變量:有默認值
? ? ? ? ? ?局部變量;沒有默認值,必須定義,賦值,然后才能使用
2:類作為形式參數的作用
(1)如果你看到一個方法需要的參數是一個類名,就應該知道這個實際需要的是一具體的對象。
3:匿名對象
(1)沒有名字的對象
(2)應用場景
? ? ? ? ? ? ?A:調用方法,僅僅只調用一次的時候。
? ? ? ? ? ? ?B:可以作為實際參數傳遞
4:封裝
(1)隱藏實現細節,提供公共的訪問方式
(2)好處:
? ? ? ? ? ? ?A:隱藏實現細節,提供公共的訪問方式
? ? ? ? ? ? ?B:提高代碼的復用性
? ? ? ? ? ? ?C:提高代碼的安全性
(3)設計原則
? ? ? ? ? ? ?把設計細節隱藏起來,提供公共的訪問方式
(4)private也是封裝的一種體現
? ? ? ? ? ? ?封裝:類、方法、private修飾成員變量
5:private關鍵字
(1)私有的意義,可以修飾成員變量和成員方法
(2)特點:
? ? ? ? ? ?被private修飾后的成員只能在本類中被訪問
(3)private的應用
? ? ? ? ? ?以后寫一個類的時候:
? ? ? ? ? ?把所有的成員變量給private了
? ? ? ? ? ? 提供對象的set和get方法
6:this關鍵字
(1)代表當前類的引用對象
? ? ? ? ? ? 記住:那個對象調用方法,該方法內部的this就代表那個對象。
(2)this的應用場景:
? ? ? ? ? ? ?A:解決了局部變量隱藏成員變量的問題
7:構造方法
(1)作用:用于對對象的數據進行初始化
(2)格式:
? ? ? ? ? ? ? A:方法名和類名相同
? ? ? ? ? ? ? B:沒有返回值類型,連void都不能有
? ? ? ? ? ? ? C:沒有返回值
(3)構造方法的注意事項
? ? ? ? ? ? ? A:如果我們沒有寫構造方法,系統將提供一個無參數的構造方法
? ? ? ? ? ? ? B:如果我們給出了構造方法,系統將不提供默認的構造方法
? ? ? ? ? ? ? 如果這個時候,我們要使用無參構造方法,就必須提供無參的構造方法
? ? ? ? ? ? ? 建議:永遠手動給出無參的構造方法
(4)給成員變量賦值的方式
? ? ? ? ? ? ? A:set方法
? ? ? ? ? ? ? B:帶參數的構造方法