java學習筆記(必看經典)_第1頁
已閱讀1頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、達內java學習筆記1JAVAJAVA的面向對象編程的面向對象編程課堂筆記課堂筆記面向對象主要針對面向過程。面向對象主要針對面向過程。面向過程的基本單元是函數(shù)。面向過程的基本單元是函數(shù)。什么是對象:什么是對象:EVERYTHINGISOBJECT(萬物皆對象)(萬物皆對象)所有的事物都有兩個方面:所有的事物都有兩個方面:有什么(屬性):用來描述對象。有什么(屬性):用來描述對象。能夠做什么(方法):告訴外界對象有那些功能。能夠做什么(方

2、法):告訴外界對象有那些功能。后者以前者為基礎。后者以前者為基礎。大的對象的屬性也可以是一個對象。大的對象的屬性也可以是一個對象。為什么要使用面向對象:為什么要使用面向對象:首先,面向對象符合人類看待事物的一般規(guī)律。首先,面向對象符合人類看待事物的一般規(guī)律。對象的方法的實現(xiàn)細節(jié)是屏蔽的,只有對象方法的實現(xiàn)者了解細節(jié)。對象的方法的實現(xiàn)細節(jié)是屏蔽的,只有對象方法的實現(xiàn)者了解細節(jié)。方法的定義非常重要。方法有參數(shù),也可能有返回值。方法的定義非常

3、重要。方法有參數(shù),也可能有返回值。注意區(qū)分:對象(本身)注意區(qū)分:對象(本身)、對象的實現(xiàn)者、對象的調用者。、對象的實現(xiàn)者、對象的調用者。分析對象主要從方法開始。分析對象主要從方法開始。我們通過類來看待對象,類是對象的抽象。我們通過類來看待對象,類是對象的抽象。其次,采用面向對象方法可以使系統(tǒng)各部分各司其職、各盡所能。其次,采用面向對象方法可以使系統(tǒng)各部分各司其職、各盡所能。對象之間的耦合性一定要低(比如不同硬盤和不同主板之間的關系)對

4、象之間的耦合性一定要低(比如不同硬盤和不同主板之間的關系)。這樣才能使每個對象本身做成最。這樣才能使每個對象本身做成最好的。好的。對于對象的要求:高內聚、低耦合,這樣容易拼裝成為一個系統(tǒng)。對于對象的要求:高內聚、低耦合,這樣容易拼裝成為一個系統(tǒng)。實現(xiàn)高內聚就是要最大限度低提高復用性(復用性好是因為高內聚)實現(xiàn)高內聚就是要最大限度低提高復用性(復用性好是因為高內聚)??蓮陀眯允强蓮陀眯允荗OP的基礎。的基礎。比較面向過程的思想和面向對象的

5、思想:比較面向過程的思想和面向對象的思想:面向過程的思想:由過程、步驟、函數(shù)組成,以過程為核心;面向過程的思想:由過程、步驟、函數(shù)組成,以過程為核心;面向對象的思想:以對象為中心,先開發(fā)類,得到對象,通過對象之間相互通信實現(xiàn)功能。面向對象的思想:以對象為中心,先開發(fā)類,得到對象,通過對象之間相互通信實現(xiàn)功能。面向過程是先有算法,后有數(shù)據(jù)結構。面向過程是先有算法,后有數(shù)據(jù)結構。面向對象是先有數(shù)據(jù)結構,然后再有算法。面向對象是先有數(shù)據(jù)結構,

6、然后再有算法。在用面向對象思想開發(fā)的過程中,可以復用對象就進行復用,如無法進行復用則開發(fā)新的對象。在用面向對象思想開發(fā)的過程中,可以復用對象就進行復用,如無法進行復用則開發(fā)新的對象。開發(fā)過程是用對個簡單的對象的多個簡單的方法,來實現(xiàn)復雜的功能開發(fā)過程是用對個簡單的對象的多個簡單的方法,來實現(xiàn)復雜的功能。從語法上來看,一個類是一個新的數(shù)據(jù)類型。從語法上來看,一個類是一個新的數(shù)據(jù)類型。在面向對象編程中,除了簡單數(shù)據(jù)類型,就是對象類型。在面向

7、對象編程中,除了簡單數(shù)據(jù)類型,就是對象類型。定義類的格式:定義類的格式:classStudent代碼代碼注意類名中單詞的首字母大寫。注意類名中單詞的首字母大寫。實例變量:定義在類中但在任何方法之外。實例變量:定義在類中但在任何方法之外。(New出來的均有初值)出來的均有初值)誠信、創(chuàng)新、開放、合作誠信、創(chuàng)新、開放、合作達內java學習筆記3Overloading在一個類中可以定義多個同名方法,各個方法的在一個類中可以定義多個同名方法,各

8、個方法的參數(shù)表參數(shù)表一定不同。但修飾詞可能相同,一定不同。但修飾詞可能相同,返回值也可能相同。返回值也可能相同。在程序的編譯過程中根據(jù)變量類型來找相應的方法。因此也有人認為在程序的編譯過程中根據(jù)變量類型來找相應的方法。因此也有人認為overloading是編譯時的多態(tài),是編譯時的多態(tài),以后我們還會學到運行時多態(tài)。以后我們還會學到運行時多態(tài)。為什么會存在為什么會存在overloading技術呢?作為應對方法的細節(jié)。技術呢?作為應對方法的細

9、節(jié)。利用類型的差異來影響對方法的調用。利用類型的差異來影響對方法的調用。吃()可以分為吃肉,吃菜,吃藥,在一個類中可以定義多個吃方法。吃()可以分為吃肉,吃菜,吃藥,在一個類中可以定義多個吃方法。構造方法也可以實現(xiàn)構造方法也可以實現(xiàn)overloading。例:。例:publicvoidteach()publicvoidteach(inta)publicvoidteach(Stringa)為三種不同的方法。為三種不同的方法。Overloa

10、ding方法是從低向高轉。方法是從低向高轉。Byte—sht—float—int—long—double。在構造方法中,在構造方法中,this表示本類的其他構造方法:表示本類的其他構造方法:student()student(stringn)this()表示調用表示調用student()如果調用如果調用student(inta)則為則為this(inta)。特別注意特別注意:用:用this調用其他構造方法時,調用其他構造方法時,this必

11、須為第一條語句,然后才是其他語句。必須為第一條語句,然后才是其他語句。This表示當前對象。表示當前對象。PublicvoidprintNum()Intnumber=40;System.out.println(this.number)此時打印的是實例變量,而非局部變量,即定義在類中而非方法中的變量。此時打印的是實例變量,而非局部變量,即定義在類中而非方法中的變量。This.number表示實例變量。表示實例變量。誰調用誰調用this.n

12、umber那么誰即為當前那么誰即為當前(this)對象的對象的number方法。方法。封裝:使對象的屬性盡可能私有,對象的方法盡可能的公開。用封裝:使對象的屬性盡可能私有,對象的方法盡可能的公開。用private表示此成員屬性為該類的私有表示此成員屬性為該類的私有屬性。屬性。Public表示該屬性(方法)公開;表示該屬性(方法)公開;Private表示該屬性(方法)為只有本類內部可以訪問(類內部可見)表示該屬性(方法)為只有本類內部可以

13、訪問(類內部可見)。(想用(想用private還要用還要用set和get方法供其他方法調用,這樣可以保證對屬性的訪問方式統(tǒng)一,并且便于方法供其他方法調用,這樣可以保證對屬性的訪問方式統(tǒng)一,并且便于維護訪問權限以及屬性數(shù)據(jù)合法性)維護訪問權限以及屬性數(shù)據(jù)合法性)如果沒有特殊情況,屬性一定私有,方法該公開的公開。如果沒有特殊情況,屬性一定私有,方法該公開的公開。如果不指明誰調用方法,則默認為如果不指明誰調用方法,則默認為this。區(qū)分實例變

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論