面向對象
**面向過程:**當需要實現一個功能的時候,每一個具體的步驟都要親力親爲,詳細的處理每一個細節。
**面向對象:**當需要實現一個功能的時候,不關心具體步驟,而是找一個已經具有該功能的方法來幫忙處理問題。
面向對象三大基本特徵
封裝性、繼承性和多態性
類和對象的關係
**類:**是一組相關屬性和行爲的集合,可以看成是一類事物的模板,使用事務的屬性特徵和行爲特徵來描述該類事物。
**屬性:**該事物的狀態信息
**行爲:**就是該事物能夠做什麼
類的定義
注意:
1、成員變量是直接定義在類當中的,在方法外邊
2、成員方法不要寫 static
//創建類
class className{
filed; //成員屬性
method; //成員方法
}
對象的創建
通常情況下一個類不能直接使用,需要根據類創建一個對象才能使用
創建對象的過程:
1、導包
也就是指出需要什麼類,在什麼位置
import 包名稱.類名稱;
對於和當前類屬性屬於同一個包的情況,可以省略包語句不寫;
javaLang 包下的內容也不要導包
2、創建
格式:
類名稱 對象名 = new 類名稱();
3、使用
1)使用成員變量:
對象名.成員變量名;
2)使用成員方法:
注意:如果成員變量沒有賦值,那麼就會有默認值,規則和數組一樣
格式:
對象名.成員方法名();
當一個對象作爲參數,傳遞到方法當中的時候,實際上傳遞進去的是對象的地址值。
局部變量和成員變量
區別:
1、定義的位置不同
局部變量:在方法的內部
成員變量:在方法的外部,直接寫在類當中
2、作用範圍不一樣
局部變量:只有方法當中纔可以使用,處理方法就不能使用
成員變量:整個類都可以通用
3、默認值不一樣
局部變量:沒有默認值,如果想使用,必須手動進行賦值
成員變量:若果沒有賦值,就會有默認值,規則和數組一樣
4、內存的位置不同
局部變量:位於棧內存中
成員變量:位於堆內存中
5、生命週期
局部變量:隨着進棧而誕生,隨着出棧而消失
成員變量:隨着對象創建而誕生,隨着對象被垃圾回收而消失
方法的參數就是局部變量,參數在方法調用的時候必然賦值