面向對象(oop)進階篇

面向對象進階

1. 包

package: 組織文件的作用。將程序中在邏輯上具有關聯(lián)關系的文件組織在一起。

在一個類中,使用另外一個包中的類:

1、使用類的全限定名

全限定名:從最層的包開始,一層層的向我們想要使用的文件進行定位。

例如 com.qianfeng.aexercise.two.Person

2、使用關鍵字 import,導入想要使用的資源文件

import java.util.Arrays 導入Arrays類

import java.util.* 導入java.util包下面所有的內(nèi)容

2. this關鍵字

this: 代表對當前對象的引用

this只能夠用在非靜態(tài)方法和構造方法中。
1、用在非靜態(tài)方法中: 哪一個對象調(diào)用這個方法, this就是誰。
2、用在構造方法中: 
   1、表示對當前對象的引用: 即將被實例化的對象。
   2、this() 調(diào)用當前類中其他的構造方法

this的省略規(guī)則:

其實,所有的屬性、方法在進行訪問的時候,都必須要有一個訪問主體。

但是在某些情況下,訪問主體可以省略。

省略的規(guī)則很簡單:

如果省略掉之后,對程序沒有任何的影響,可以省略。

3. 構造方法

1、構造方法的定義

1、沒有用來修飾構造方法的其他的修飾符

2、構造方法沒有返回值

? 這里所謂的沒有返回值,指的并不是返回值類型是void,而是返回值類型部分不要寫!

3、方法名必須和類名相同

2、構造方法的調(diào)用

1、構造方法不能夠顯式的被類或者對象調(diào)用

2、構造方法的調(diào)用是發(fā)生在對象被實例化的時候

? 實例化對象的過程中,會自動的調(diào)用構造方法。

3、構造方法的實際使用意義

1、構造方法作為一個對象生命周期中的第一個方法,一般情況下,我們會對對象的屬性進行初始化的賦值

4、在構造方法中調(diào)用當前類的其他的構造方法

1、使用 this()

2、通過實參來區(qū)分具體調(diào)用哪一個構造方法

3、this() 調(diào)用構造方法,這一條語句必須是構造方法中的第一行語句

5、構造方法中的自動提供的原則

1、如果一個類中沒有寫構造方法,則這個類中會自動的提供一個public權限的無參構造方法

2、如果一個類中寫構造方法了,此時系統(tǒng)將不再默認提供任何的構造方法

? 如果沒有特殊需求,在添加了有參構造的同時,自己把無參構造也補上

6、析構方法

1、析構方法是一個對象生命周期中的最后一環(huán)。

4. 代碼段

分為 靜態(tài)代碼段 和 非靜態(tài)代碼段(構造代碼段)

1、他們都是直接寫在類中的代碼段,使用static修飾的代碼段叫做靜態(tài)代碼段,沒有使用static修飾的代碼段叫做非靜態(tài)代碼段,或者叫做構造代碼段

2、執(zhí)行時機:

? 2.1、靜態(tài)代碼段:

? 當這個類第一次被加載到內(nèi)存中的時候調(diào)用。指的是第一次在程序中使用到這個類(實例化對象、調(diào)用靜態(tài)方法、靜態(tài)屬性。。。)

? 2.2、構造代碼段:

? 當實例化對象對象的時候,執(zhí)行構造代碼段。

? 在實例化對象的時候,先執(zhí)行構造代碼段,然后再執(zhí)行構造方法。

3、無論是靜態(tài)代碼段還是構造代碼段,都可以出現(xiàn)多次。如果出現(xiàn)了多次,則這些代碼段之間執(zhí)行的先后順序是,按照書寫順序執(zhí)行。先寫誰,先執(zhí)行誰。

5. private關鍵字與屬性的封裝

在我們之前的程序設計中,有某些屬性,我們是不希望直接暴露給外界的。

private

是訪問權限修飾符的其中之一,表示私有的權限。被private修飾的屬性和方法,只能在當前的類中訪問。

屬性的封裝

對于某些屬性,如果直接暴露給外界,則在進行訪問的時候,進行的賦值操作,可能并不是我們想要的值。

為了解決這個問題,可以直接將這個屬性私有化起來,此時外界將不能再直接訪問這個屬性。但是為了能讓外界繼續(xù)操作這個屬性,我們需要提供用來操作屬性的方法。

JavaBean規(guī)范:理論上來講,每個屬性都需要進行封裝。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學習記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 3,179評論 2 9
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,689評論 1 32
  • 1 面向對象No6 面向對象 OO Object Oriented 編程時以對象為單元,封裝數(shù)據(jù)和邏輯,以此提...
    征程_Journey閱讀 1,266評論 0 2
  • 面向對象筆記 一、 對象在內(nèi)存中的存放方法以及被調(diào)用過程 class文件首先被加載到方法區(qū)中的class文件內(nèi)容區(qū)...
    VictorBXv閱讀 578評論 0 2
  • 第四章 面向對象 面向對象思想 面向對象思想的引入前面我們講過數(shù)組,當有多個數(shù)組都需要遍歷時,我們可以將遍歷的代碼...
    chongsheng閱讀 810評論 0 0

友情鏈接更多精彩內(nèi)容