Java類與對象知識點總結


面向對象程序程序設計(Object  Oriented Programming)是當今主流的程序設計范型;一般會提供類、封裝、繼承等語法和概念來輔助我們進行面向對象編程。在面向過程程序設計中,數據和對數據的操作是分離的,因而這種做法需要把數據傳遞到過程和函數中;而面向對象程序設計把數據和屬於它們的操作放入同一個數據結構,數據和操作都在同一個統一體內,所以解決了面向過程程序設計不可避免的很多問題。面向對象是基於萬物皆對象這個哲學觀點. 所謂的面向對象就是將我們的程序模塊化,對象化,把具體事物的特性屬性和通過這些屬性來實現一些動作的具體方法放到一個類里面。

 

1.面向對象的三大特性為封裝、繼承、多態。

2.類與對象的關系:類是對象的模板,對象是類的實例,類只能通過對象才能使用。

3.類的組成為屬性和方法。

4.對象的產生格式:類名稱  對象名稱 = new 類名稱()。

5.如果一個對象沒有被實例化而直接使用,則使用時會出現空指針異常。

6.類屬於引用數據類型,進行引用傳遞時,傳遞的是堆內存的使用權。

7.類的封裝性:通過private關鍵字進行修飾,被傳遞的屬性不能被外部直接調用,而只能通過getter或setter方法完成,只要是屬性則必須封裝。

8.構造方法可以為類中的屬性初始化,構造方法與類名稱相同,無返回值類型聲明,如果在類中沒有明確的定義出構造方法,則會生成一個無參的構造方法,在一個類中的構造方法可以重載,但是每個類都至少有一個構造方法。

9.String類在Java中比較特殊,String可以使用直接復制的方式,也可以通過構造方法進行實例化,前者指產生一個實例化對象,而且此實例化對象可以重用,后者將產生兩個實例化對象,其中一個是垃圾空間,在String中比較內容是用equals方法,而“==”比較的是兩個字符串的地址值。字符串的內容一旦聲明則不可改變。

10.在Java中使用this關鍵字可以表示當前對象,通過“this.屬性”可以調用本類中的屬性,通過“this.方法”可以調用本類中其他方法;也可以通過this()的形式調用本類中的構造方法,但是調用時要求放在構造方法的首行。

11.使用static聲明的屬性和方法可以由類名稱直接調用,static屬性是所有對象共享的,對可以對其進行操作。

12.如果需要限制類對象的產生,則可以將構造方法私有化。

13.對象數組的使用要分為聲明數組和為數組開辟空間兩步。開辟空間后數組中的每個元素的內容都是null。

14.內部類是在一個類的內部定義另外一個類,使用內部類可以方便訪問外部類的私有操作。在方法中聲明的內部類要想訪問方法的參數,則參數前必須加上final關鍵字。

15.繼承可以擴充已有類的功能,通過extends關鍵字實現,可將父類的成員繼承到子類。

16.Java在執行子類的構造方法前會先調用父類中無參的構造方法,其目的是為了繼承自父類的成員做初始化操作

17.父類有多個構造方法時,如要調用特定的構造方法則可在子類的構造方法中通過super()關鍵字實現。

18.this()用於在同一類內調用其他構造方法,而super()則用於從子類的構造方法中調用其父類的構造方法。

19.使用this調用屬性和方法時會現在本類中查找,如果本類中沒有再從父類中查找,而使用super則會直接從父類中查找需要的屬性和方法。

20.this()與super()相似之處在於:當構造方法重載時,兩者均會根據所給予的參數類型與個數正確地執行相對應的構造方法;兩者均必須編寫在構造方法內的第一行,也正是這個原因,this()和super()無法同時存在同一個構造方法中。

21.重載(overloading)是指在相同類內定義名稱相同但參數個數或類型不同的方法,因此,Java可依據參數的個數或類型調用相應的方法。

22.重寫(overriding)是在子類當中定義名稱、參數個數與類型均與父類相同的方法,用來覆寫父類中的方法。

23.如果父類的方法不希望被子類覆寫,可在父類的方法前加final關鍵字。

24.final加在數據成員變量前,這樣該變量變成一個常量,因此無法在程序代碼中再做修改。使用public static final可以聲明一個全局常量。

25.所有的類均繼承自Object類。一個好的類應該覆寫Object類中的toString()、equals()、hashCode()3個方法,所有的對象都可以向Object類進行向上轉型

26.抽象類不能直接用來產生對象,必須通過對象的多態性進行實例化操作。

27.抽象類的方法分為兩種,一種是一般的方法,另一種是以abstract關鍵字開頭的抽象方法。抽象方法並沒有定義方法體,而是要保留給由抽象類派生出的新類來定義。

28.接口是方法和全局常量的集合,接口必須由子類來實現,一個接口可以同時繼承多個接口,一個子類可以同時實現多個接口。

29.Java不允許類的多重繼承,但是允許實現多個接口。

30.Java對象的多態性分為向上轉型(自動)和向下轉型(強制)。

31.通過instanceof關鍵字可以判斷對象屬於哪個類。

32.匿名內部類的作用是可利用內部類創建不具有名稱的對象,並利用它訪問類中的成員

33.在Java中使用package關鍵字來將一個類放入一個包中。

34.在Java中使用import語句可以導入一個已有的包。

35.Java中的訪問控制權限分為4種,即private、default、protected、public。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM