Java面向对象(一)面向对象简介和初步 了解
一、面向對象簡介
面向對象是相對面向過程而言的。
面向過程注重的是過程,強調的是動作;
面向對象注重的是對象,只要找到了對應的對象,那么就自然擁有了對象所具有的一切功能
面向對象是基于面向過程的
面向對象一定優于面向過程嗎?
當場景比較復雜的時候,建議使用面向對象;當事物比較簡單的時候,建議使用面向過程
二、類 和對象的關系
通過對一類事物的共有的特征和行為進行抽取,將特征抽取為屬性,將行為抽取為方法,這樣就形成了一個類---類是對象的概括。
通過new關鍵字來創建對應類的實例/對象---對象是類的具體
通
?三、成員變量和局部變量
區別:
1. 定義位置不同:成員變量定義在類內方法外;局部變量定義在方法或語句內。
2. 存儲位置不同:成員變量存儲在堆內存中,并在堆內存中自動賦予 初始值;局部變量存儲在棧內存中,需要手動初始化。
3. 作用域不同:成員變量作用在整個類內;局部變量作用在定義的方法或語句內。
4. 生命周期不同:成員變量在對象創建時產生,對象的銷毀而銷毀,對象用完不一定立即回收,而是在不定時的某個時刻被回收;局部變量在語句或方法被執行到時創建,在語句或方法執行完后立即銷毀。
四、構造函數
構造函數是在類中與類同名且沒有返回值類型的函數。 (注意:沒有返回值類型 ,而不是沒有返回值,沒有返回值用void定義)
構造函數可以被重載。
如果類中沒有構造函數,則JVM會默認提供一個無參構造函數,當用戶自定義有參構造函數后,JVM將不會提供無參構造,需要用戶顯示定義。
構造函數中可以有return語句,用于回避掉一些不否和實際邏輯的問題。
任何一個類都有構造函數。
五、this關鍵字
哪個對象處于活躍狀態,則this代表哪個對象,this可以認為是一個虛擬對象,代表了當前對象的引用。
注意:
java中所有非靜態的屬性和方法都必須通過對象來調用。
this()語句 :用于在本類的構造函數中調用其他的構造函數。,但是必須放在該構造函數的首行。
六、匿名對象
沒有名字的對象稱之為匿名對象 --- 用于只調用一次的時候。
匿名對象可以作為參數傳遞。
七、局部代碼塊
在函數或語句內部用{ }括起來的代碼塊稱之為局部代碼塊。
作用:
限制局部變量的作用范圍和生命周期,提高棧內存的利用率。
八、構造代碼塊|初始化代碼塊
定義在類內方法外的代碼塊。
用于類內屬性的初始化,會先于構造函數執行。
總結
以上是生活随笔為你收集整理的Java面向对象(一)面向对象简介和初步 了解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA中函数
- 下一篇: Java面向对象(二)面向对象的特征 -