面向對象編程的概念
萬物皆對象
面向對象指以屬性和行爲的觀點去分析顯示生活中的事物
面向對象編程指先以面向對象的思想進行分析,然後使用面向對象的編程語言進行表達的過程
面向對象編程是軟件產業化發展的需求
理解面向對象的思想精髓(封裝,繼承,多態),至少掌握一種編程語言
C語言:面向過程
JAVA:面向對象
C++:即是面向對象又是面向過程
類和對象的概念
2020年6月10日
10:24
對象主要指現實生活中客觀存在的實體,在Java語言中對象體現內存空間中的一塊存儲區域。
類簡單來就是“分類”,是對具有相同特徵和行爲的多個對象共性的抽象描述,在Java語言中體現一種引用數據類型,裏面包含了描述特徵/屬性的成員變量以及描述行爲的成員方法。
類是用於構建對象的模板,對象的數據結構有它的類來定義。
類的定義:
class 類名{ class Person{
類體; }
}
注意:
通常情況下,當類名由多個單詞組成時,要求每個單詞的首字母都要大寫。
成員變量的定義:
class 類型{ class Person{
數據類型 成員變量名=初始值; String name;
} }
當成員變量由多個單詞組成時,通常要求從第二個單詞起每個單詞的首字母大寫。
對象的創建:
new 類名(); new Person();//匿名對象
注意:
1.當一個類定義完畢後,可以使用new關鍵字來創建該類的對象,這個過程叫做類的實例化。
2.創建對象的本質就是在內存空間堆區申請一塊存儲區域,用於存放該對象獨有特徵信息。
引用的定義
基本概念:
1.使用引用數據類型定義的變量叫做引用型變量,簡稱爲“引用”。
2.引用變量主要用於記錄對象在堆區中的內存地址信息,便於下次訪問。
語法格式:
類名 引用變量名;
引用變量名.成員變量名;
Person p =new Person();
P.name="張飛";
System.out.println(p.name);
成員變量的初始值
對象創建後,其中成員變量可以按照默認的方式初始化,具體規則如下:
其中float和double 默認初始值因爲0.0
例子:
成員方法的定義:
Class 類名{ class Person{
返回值類型 成員方法名(形參列表){ void show(){
成員方法體; System.out.println("輸出");
} }
} }
當成員方法明由多個單詞組成時,要求從第二個單詞起每個單詞的首字母大寫。
返回值類型詳解(方法體內返回到方法體外的數據內)
1.返回值主要指從方法體內返回到方法體外的數據內容。
2.返回值類型主要指返回值的數據類型,可以是基本數據類型,也可以是引用數據類型
3.當返回的數據內容是66時,則返回值類型寫int
4.在方法體中使用return關鍵字可以飯hi具體的數據內容並結束當前方法。
5.當返回的數據內容是66時,則方法體中寫return 66;
6.當該方法不需要返回任何數據內容時,則返回值類型寫void即可。
形參列表的詳解:(將方法體外的數據內容帶入到方法體內部)
1.形式參數主要用於將方法體外的數據內容帶入到方法體內部
2.形式參數列表主要指多個形式參數組成的列表,語法格式如下:
數據類型 形參變量名1,數據類型 形參變量名2,….
3.當帶入的數據內容時“hello”時,則形參列表爲String s;即可
4.當帶入數據內容是66和“hello”時,則形參寫int i,即可
5.若該方法不需要帶入任何數據是,則形參列表則什麼也不寫。
方法體詳解
1.成員方法體主要用於編寫描述該方法的功能語句塊
2.成員方法可以實現方法的重用,簡化代碼。
方法的調用“
1.引用變量名。成員方法明(實參列表);
2.實際參數列表主要用於堆形式參數列表進行初始化,因此參數的個數,類型以及順序都要完全一致。
3.實際參數可以傳遞直接量,變量,表達式,方法的調用等。
可變長參數
1.返回值類型 方法名(參數的類型 …參數名)
2.方法參數部分指定類型的參數個數是可以改變的,也就是0~n個。
3.一個方法的形參列表中最多隻能聲明一個可變長形參,並且需要放到參數列表的末尾。
可變長參數必須放到後面
參數傳遞的注意事項:
1.基本數據類型的變量作爲方法的參數傳遞時,形參變量數值的改變通常不會影響實參變量的數值,因爲兩個變量有各自獨立的內存空間。
2.引用數據類型的變量作爲方法的參數傳遞時,形參變量指向內容改變會影響到實參變量指向內容的數值,因爲兩個變量指向同一塊內存空間
3.當引用數據類型的變量作爲方法的參數傳遞時,若形參變量改變指向後再改變指定的內容,則通常不會影響到實參變量指向內容的改變,因爲兩個變量指向不同的內存空間。
(基本類型裏放的是值,而引用數據類型裏放的是地址。)
內存結構之戰區
1.棧用於存放程序運行過程當中所有的局部變量。一個運行的java程序從開始到結束會有多次方法的調用。
2.JVM會爲每一次方法的調用在棧中分配一個對應的空間,這個空間稱爲該方法的棧幀。一個棧幀對應一個正在調用中的方法,棧幀中存儲了該方法的參數,局部變量等數據。
傳參的相關概念:
1.參數分爲形參和實參,定義方法時的參數叫形參,調用方法時傳遞的參數叫實參。
2.調用方法時採用值傳遞就是把實參傳遞給形參,方法內部其實是在使用形參。
3.所謂值傳遞就是 ,當參數是基本類型時,傳遞參數的值,比如傳遞i=0,真實傳遞,把0賦值給了形參。當參數是對象時,傳遞的是對象的值,也就是把對象的地址賦值給了形參。