小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

java 編程思想 筆記

 琰語溢馨 2012-05-24
1.比較對象和基本類型
==和!= 比較的是對象的引用。equals()比較的是對象的內(nèi)容。 基本類型可以直接用==和!=比較
  如果在自己寫的類中。必須覆蓋equals() 因為equals()默認比較的是引用
  大多數(shù)的java類庫都實現(xiàn)了equals()方法,以便用來比較對象的內(nèi)容,而非比較的引用。

2. 標簽,break,continue

demo:  label1:
       outer-iteration{
       inner-iteration{
       break; // (1)
       continue; //(2)
       continue label1;(3)
       break label1;(4)    
}
}


在(1)中,break中斷內(nèi)部迭代,回到外部迭代。在(2)中,continue使執(zhí)行點移回內(nèi)部迭代的起始處。
在(3)中,continue label1 同時中斷內(nèi)部迭代以及外部迭代,直接轉(zhuǎn)到label1處,繼續(xù)從外部迭代繼續(xù)迭代過程。
在(4)中,break label1 中斷所有迭代,并回到label1處但并不重新進入迭代,完全中止了兩個迭代。

3.對象創(chuàng)建過程
1)首次創(chuàng)建對象時,或者類的靜態(tài)方法/靜態(tài)域首次被訪問時,java解釋器必須炒作類路徑,定位類.class文件。(構(gòu)造器可以看成靜態(tài)方法)
2)然后載入類.class文件,有關(guān)靜態(tài)初始化的所有動作都會執(zhí)行,因此,靜態(tài)初始化只在class對象首次加載的時候進行一次。
3)當用new 類()創(chuàng)建對象的時候,首先將在堆上為類對象分配足夠的存儲空間。
4)這塊存儲空間會被清零,這就自動地將類對象中的所有基本類型數(shù)據(jù)都設(shè)置成了默認值,而引用則被設(shè)置成為null.
5)執(zhí)行所有出現(xiàn)于字段定義初的初始化動作
6)執(zhí)行構(gòu)造器

4.構(gòu)造器的調(diào)用順序
基類的構(gòu)造器總是在導(dǎo)出類的構(gòu)造過程中被調(diào)用,而且按照繼承層次逐漸向上鏈接,以使每個基類的構(gòu)造器都能得到調(diào)用。
1)調(diào)用基類構(gòu)造器。這個步驟會不斷地反復(fù)遞歸下去,首先是構(gòu)造這種層次結(jié)構(gòu)的根,然后是下一層導(dǎo)出類,等等,知道最底層的導(dǎo)出類。
2)按聲明順序調(diào)用成員的初始化方法。
3)調(diào)用導(dǎo)出類構(gòu)造器的主體。

5.編寫構(gòu)造器的準則
用盡可能簡單的方法使對象進入正常狀態(tài);如果可以的話,避免調(diào)用其他方法。(在構(gòu)造器內(nèi)唯一能夠安全調(diào)用的那些方法是基類中的final方法,也適用于private方法,這些方法不能被覆蓋。因此是安全的。)

6.內(nèi)部類
可以將一個類的定義放在另一個類的定義內(nèi)部,這就是內(nèi)部類。
內(nèi)部類的作用:
1)隱藏名字和組織代碼
2)當生成一個內(nèi)部類的對象時,此對象與制造它的外圍對象之間就有了一種聯(lián)系,所以它能訪問其外圍對象的所有成員,而不需要任何特殊條件。此外,內(nèi)部類還擁有其外圍類的所有元素的訪問權(quán)。
內(nèi)部類如何做到自動擁有對其外圍類所有成員的訪問權(quán):
當某個外圍類的對象創(chuàng)建了一個內(nèi)部類對象時,此內(nèi)部類對象必定會秘密地捕獲一個指向那個外圍類對象的引用。然后,在你訪問此外圍類的成員時,就是用那個引用來選擇外圍類的成員。編譯器會幫你處理所有的細節(jié)。

使用.this與.new
如果你需要生成對外部類對象的引用,可以使用外部類的名字后面緊跟圓點和this.這樣產(chǎn)生的引用自動地具有正確的類型。
有時你可能想要告知某些其他對象,去創(chuàng)建其某個內(nèi)部類的對象。要實現(xiàn)此目的,你必須在new表達式中提供對其他外部類對象的引用,這時需要.new   .

7.嵌套類:
如果不需要內(nèi)部類對象與其外圍類對象之間有聯(lián)系,那么可以將內(nèi)部類聲明為static.這通常稱為嵌套類。
普通的內(nèi)部類對象隱式地保存了一個引用,指向創(chuàng)建它的外圍類對象。然而,當內(nèi)部類是static時,就不這樣了。
嵌套類意味著:
1)要創(chuàng)建嵌套類的對象,并不需要其外圍類的對象。
2)不能從嵌套類的對象中訪問非靜態(tài)的外圍類對象。
嵌套類與普通的內(nèi)部類還有一個區(qū)別。普通內(nèi)部類的字段與方法,只能放在類的外部層次上,所以普通內(nèi)部類不能有static數(shù)據(jù)和static字段,也不能包含嵌套類。但是嵌套類可以包含所有這些東西。
內(nèi)部類的特性:
1)內(nèi)部類可以有多個實例,每個實例都有自己的狀態(tài)信息,并且與其外圍類對象的信息相互獨立。
2)在單個外圍類中,可以讓多個內(nèi)部類以不同的方式實現(xiàn)同一個接口,或基礎(chǔ)層同一個類。
3)創(chuàng)建內(nèi)部類對象的時刻并不依賴于外圍類對象的創(chuàng)建。
4)內(nèi)部類并沒有令人迷惑的is-a 關(guān)系,它就是一個獨立的實體。

8.數(shù)組
無論使用哪種類型的數(shù)組,數(shù)組標識符其實只是一個引用,指向在堆中創(chuàng)建的一個真實對象,這個(數(shù)組)對象用以保存指向其他對象的引用。
對象數(shù)組和基本類型數(shù)組在使用上幾乎是相同的;唯一的區(qū)別就是對象數(shù)組保存的是引用,基本類型數(shù)組直接保存基本類型的值。

9.枚舉類型
關(guān)鍵字enum可以將一組具名的值的有限集合創(chuàng)建為一種新的類型,而這些具名的值可以作為常規(guī)的程序組件使用。
switch語句中的enum.
enumMap是一種特殊的map,它要求其中的鍵(key)必須來自一個enum.由于enum本身的限制,所以enumMap在內(nèi)部可由數(shù)組實現(xiàn)。因此enumMap的速度很快,我們可以放心地使用enum實例在enumMap中進行查找操作。不過,我們只呢將enum實例作為鍵來調(diào)用put()方法,其他操作與使用一般m
ap差不多。

10.注解
注解(也被稱為元數(shù)據(jù))為我們在代碼中添加信息提供了一種形式化方法,使我們可以在稍后某個時刻非常方便地使用這些數(shù)據(jù)。
@Override:表示當前的方法定義將覆蓋超類中的方法。拼寫錯誤和方法對不上,編譯器會發(fā)出錯誤提示。
@Deprecated: 如果程序員使用了注解為它的元素,編譯器會發(fā)出警告信息。
@SuppressWarinings: 關(guān)閉不當?shù)木幾g警告信息。

 

 

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多