面向对象--类
一、成員變量和局部變量的區別:
1. 在類中的位置不同
a. 成員變量:在類中方法外
b. 局部變量:在方法定義中或者方法聲明上
2. 在內存中的位置不同
a. 成員變量:在堆內存(成員變量屬于對象,對象進堆內存)
b. 局部變量:在棧內存(局部變量屬于方法,方法進棧內存)
※ 由于內存中的位置不同,所以成員變量和局部變量可以重名。
3. 生命周期不同:
a. 成員變量:隨著對象的創建而存在,隨著對象的消失而消失
b. 局部變量:對著方法的調用而存在,對著方法的調用完畢而消失
4. 初始化值不同:
a. 成員變量:有默認初始化值
b. 局部變量:沒有默認初始化值,必須定義、賦值,然后才能使用。
注意事項:
? 局部變量名稱可以和成員變量名稱一樣,在方法中使用的時候,采用的是就近原則。
? 基本數據類型變量包括:byte/short/int/long/float/double/boolean/char
? 引用數據類型變量包括:數組、類、接口、枚舉。
二、匿名對象的概述和應用
1. 匿名對象:沒有名字的對象
2. 匿名對象的應用場景:
a. 調用方法,僅僅只調用一次的時候
i. 這樣做的好處是為了節省代碼
※ 注意:調用多次的時候不合適,匿名對象調用完畢就變成垃圾,可以被垃圾回收器不定時回收。
b. 匿名對象可以作為實際參數傳遞。eg:method(new car());
匿名對象可以調用屬性,但是調用完后沒有任何對象指向它,所以沒有任何意義。
三、封裝
1. 封裝:是指隱藏對象的屬性和實現細節,僅對外提供公共的訪問方式。
2. 封裝的好處:
a. 隱藏實現細節,提供公共的訪問方式。
b. 提高代碼的復用性
c. 提高安全性
3. 封裝的原則:
a. 將不需要對外提供的內容都隱藏起來。
b. 把屬性隱藏,提供公共的方法對其訪問。
轉載于:https://www.cnblogs.com/snail0404/p/10409682.html
總結
- 上一篇: 什么是网关
- 下一篇: GEO学习笔记-P1-P2