Java 面向物件(基礎) 知識點總結I
1、 類與物件的區別,類是物件的模板,物件是類的例項
2、 建立類的語法:class 類名稱{},類中由屬性及方法組成
3、 物件的建立語法:
· 宣告物件:類名稱 物件名稱 = null ; //相當於在棧記憶體空間聲明瞭一個物件名稱,實際上是儲存的的堆的地址
·例項化物件:物件名稱 = new 類名稱() ; //開闢堆記憶體空間,堆中存放的是全部的屬性
· 類間的引用傳遞實際上傳遞的就是堆記憶體空間的使用權
· 如果一個物件只宣告而未例項化,在使用時會出現空指向異常
· 垃圾物件產生:無用的記憶體空間,沒有任何棧記憶體指向,而且一個棧記憶體只能指向一個堆記憶體空間
4、 封裝性:類中的內容對外部不可見
· 在java中現在可以使用private關鍵字實現封裝,但是封裝之後的的屬性只能通過setter及getter方法設定和取得
· 在類的設計中,所有的屬性都要求進行封裝。這是一個標準的設計原則。
5、 構造方法
· 任何一個類中都會存在一個構造方法
· 構造方法名稱與類名稱一致,沒有返回值型別
· 構造方法會在物件使用關鍵字new進行例項化的時候自動呼叫
· 如果一個類中沒有明確的宣告一個構造方法的話,則會自動生成一個無參的什麼都不做的構造方法
6、 String類
· String有兩種例項化方式:
|- 直接賦值:只會開闢一個堆記憶體空間
|- new Stirng():會開闢兩個堆記憶體空間,有一個是垃圾
· String的內容一旦宣告則不可改變,改變的只是記憶體地址的指向
· 一個字串就是一個String的匿名物件
· String類中提供了若干個操作方法:substring()、replaceAll()、split()、length()
7、 this關鍵字
· 使用this表示的是當前物件,當前正在操作方法的物件
· 使用this可以呼叫類中的屬性或方法
· 使用this可以呼叫構造方法,但是必須放在構造方法的首行
this關鍵字的兩個用途:① 引用隱式引數,② 呼叫該類其他的構造器.
8、 super關鍵字
兩個用途: 一是呼叫超類的方法,二是呼叫超類的構造器。
this、super關鍵字在呼叫構造器的時候,使用方式相似。只能作為另一個構造器的第一條語句出現
9、 一個類可以接收自己本類的引用但是此用法只在物件比較一個位置上使用