97骚碰,毛片大片免费看,亚洲第一天堂,99re思思,色好看在线视频播放,久久成人免费大片,国产又爽又色在线观看

Thinking in Java 經(jīng)典語(yǔ)錄

時(shí)間:2021-06-10 16:29:27 語(yǔ)錄 我要投稿

Thinking in Java 經(jīng)典語(yǔ)錄推薦

  1. Booch對對象的簡(jiǎn)單描述為:對象具有狀態(tài)、行為和標識。這意味著(zhù)每一個(gè)對象都可以擁有內部數據(給出了該對象的狀態(tài))和方法(給出了該對象的行為),并且每一個(gè)對象都可以唯一地與其他對象區分開(kāi)來(lái)。

Thinking in Java 經(jīng)典語(yǔ)錄推薦

  2. Java里一切都是對象,但操作的標識符實(shí)際上是對象的一個(gè)“引用”,就好比遙控器(引用)和電視機(對象)的關(guān)系。你只要握住這個(gè)遙控器就可以控制電視機。當你想調音量或者換頻道的時(shí)候,實(shí)際操控的是遙控器,再由遙控器來(lái)調控電視機。如果想在房間里四處走走仍能遙控電視機,那么只要攜帶遙控器而不是電視機。此外,即使沒(méi)有電視機,遙控器仍然可以單獨存在,也就是說(shuō)你可以擁有一個(gè)引用,而不一定需要一個(gè)對象與之關(guān)聯(lián),如?:String s;是允許的,但是如果這時(shí)候你要控制電視機,如s.method()就不允許了,因為沒(méi)有電視機和你這個(gè)遙控器關(guān)聯(lián),所以使用之前必須初始化,即找到一臺電視機與之關(guān)聯(lián)。

  3. Java內存分配:

 、 寄存器:最快的存儲區,java里你是不能控制的,略去!

 、 堆棧:存放了對象引用,但是對象不存儲在這里;

 、 堆:用于存放所有的java對象;

 、 常量存儲:可以選擇將常量存儲在ROM里;

 、 非RAM存儲:基本例子:流對象和持久化對象。后者存放在硬盤(pán)上。

  4. 方法名和+參數列表=方法簽名,用于唯一的標識某個(gè)方法。

  5. A a = new A(); a.f();這種調用方法的行為通常被稱(chēng)為發(fā)送消息給對象,消息是f(),對象是a,在java里簡(jiǎn)單的歸納為“向對象發(fā)送消息”。其實(shí)在java內部表示為A.f(a,1),而A b = new A(); b.f();b.f();為A.f(b,2),這樣把“操作對象的引用”作為第一個(gè)參數傳進(jìn)去的原因是可以區分f()是被a調用還是b調用了。

  6. 當聲明一個(gè)事物是static時(shí),就意味著(zhù)這個(gè)域或方法不與包含它的那個(gè)類(lèi)的任何對象實(shí)例關(guān)聯(lián)在一起,屬于類(lèi)而不是對象。有些面向對象語(yǔ)言里稱(chēng)之為“類(lèi)數據”和“類(lèi)方法”。

  7. 比較常量用==,比較對象可不是簡(jiǎn)單的equals()。Equals()默認比較的是引用,要想比較內容需重寫(xiě)equals()方法,好在java類(lèi)庫大部分都實(shí)現了自己的equals()。

  8. java不需要sizeof()操作符來(lái)告訴為數據項分配的字節數,因為所有數據類(lèi)型在所有機器中的`大小都是相同的。

  9. java里逗號的兩大用處:分隔參數列表(叫“逗號分隔符”),for循環(huán)的初始化和步進(jìn)控制部分(叫“逗號操作符”)。

  10. java里的switch后跟選擇因子只能為:int、char、枚舉(千萬(wàn)別忘了。。

  11. 通過(guò)構造器,類(lèi)的設計者可以確保每個(gè)對象都會(huì )得到初始化(即使你不寫(xiě),也有默認的

  空構造器)。也是由于構造器的存在,所以“每個(gè)方法首字母小寫(xiě)”的編碼風(fēng)格并不適用于構造器(因為它必須和類(lèi)同名啊,呵呵~。。

  12. 為什么區分方法重載是看參數(個(gè)數、順序、數據類(lèi)型)而不看返回值類(lèi)型了,因為唯 一區別方法的是方法簽名(方法名+參數列表),現在方法重載所以方法名肯定相同了,就只要看參數列表了。

  13. 在static方法內部是不能調用非靜態(tài)方法的,反過(guò)來(lái)倒是可以的。但是有點(diǎn)變態(tài)的是,

  并不是完全不能調用非靜態(tài)方法的,比如傳一個(gè)對象的引用到靜態(tài)方法里,你是不是無(wú)語(yǔ)了。

  14. 當說(shuō)到j(luò )ava 的垃圾回收機制的時(shí)候,總喜歡套用官話(huà)“引用計數”,即當有引用關(guān)聯(lián)到

  這個(gè)對象時(shí),其引用計數+1,當引用離開(kāi)作用域或者置為null時(shí),引用計數-1,當計數為0的時(shí)候就回收這個(gè)對象占的內存。其實(shí)并不是這樣的,沒(méi)有任何一種java虛擬機是這樣做的,因為這種方法有種缺陷就是存在循環(huán)引用的時(shí)候,就存在“對象本應回收,但是引用計數又不為0”的情況。其實(shí)在java虛擬機里,采用的是“自適應”的垃圾回收機制,采用“停止-復制”和“標記-清掃”的混合技術(shù)!巴V-復制”就是暫停程序的執行,找到存活的對象并復制到另外一個(gè)堆,再干掉這個(gè)堆,所以存在大量的數據遷移!皹擞-清掃”是找到存活的對象并加以標記,等全部標記完后再清掃。

  15. 復用類(lèi)的方法:組合、繼承、代理。組合(has-a)最靈活,繼承(is-a)最強求且最危

  險,因為全部暴露給了子類(lèi),為了安全就出來(lái)了代理(實(shí)現一個(gè)子集即可),所以“代理是繼承和組合的中庸之道”。請記住,還有一個(gè)中庸之道,就是“抽象類(lèi)是普通類(lèi)和接口的中庸之道”,慢慢品嘗吧!

  16. 將導出類(lèi)轉型為基類(lèi),稱(chēng)為“向上轉型”,因為在繼承圖上是向上移動(dòng)的,懂嗎?呵呵~!

  17. 所謂的動(dòng)態(tài)綁定、后期綁定、運行時(shí)綁定就是多態(tài)!

  18. 將一個(gè)方法調用同一個(gè)方法主體關(guān)聯(lián)起來(lái)被稱(chēng)作綁定。后期綁定就是運行時(shí)根據對象的類(lèi)型進(jìn)行綁定。后期綁定也叫做動(dòng)態(tài)綁定或運行時(shí)綁定。Java中除了static方法和final方法(private方法屬于final方法)之外,其余的都是后期綁定。

  19. 一個(gè)接口表示“所有實(shí)現了該特定接口的類(lèi)看起來(lái)都像這樣”。接口被用來(lái)建立類(lèi)與類(lèi)之間的協(xié)議,有些面向對象的語(yǔ)言直接使用protocol關(guān)鍵字來(lái)實(shí)現。

【Thinking in Java 經(jīng)典語(yǔ)錄】相關(guān)文章:

thinking是什么意思09-14

以 Good at thinking為題的英語(yǔ)作文05-30

側田《Thinking Out Loud》歌詞07-20

java集合總結04-07

java簡(jiǎn)歷模板03-24

java實(shí)習報告12-15

java實(shí)習報告06-21

java培訓心得04-14

java實(shí)習報告06-16