版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、CreatedCreatedbybyAIwenAIwenonon2017514.2017514.javajava是面向?qū)ο蟮某绦蛟O(shè)計語言;類可被認(rèn)為是一種自定義的數(shù)據(jù)類型,可以使用類來定義變量,是面向?qū)ο蟮某绦蛟O(shè)計語言;類可被認(rèn)為是一種自定義的數(shù)據(jù)類型,可以使用類來定義變量,所有使用類定義的所有使用類定義的變量都是引用變量,它們將會引用到類的對象變量都是引用變量,它們將會引用到類的對象。類用于描述客觀世界里某一類對象的共同特征,而對象則
2、是類的具體。類用于描述客觀世界里某一類對象的共同特征,而對象則是類的具體存在,存在,javajava程序使用類的構(gòu)造器來創(chuàng)建該類的對象。程序使用類的構(gòu)造器來創(chuàng)建該類的對象。javajava也支持面向?qū)ο蟮娜筇卣鳎阂仓С置嫦驅(qū)ο蟮娜筇卣鳎悍庋b、繼承、和多態(tài)封裝、繼承、和多態(tài)。javajava提供了提供了privateprivate、protectedprotected、和、和publicpublic三個訪問控制三個訪問控制修飾符來實現(xiàn)
3、良好的封裝,提供了修飾符來實現(xiàn)良好的封裝,提供了extendsextends關(guān)鍵字讓子類繼承父類,關(guān)鍵字讓子類繼承父類,子類繼承父類就可以繼承到父類的成員變量和和子類繼承父類就可以繼承到父類的成員變量和和方法,如果訪問控制允許,子類實例可以直接調(diào)用父類里定義的方法。方法,如果訪問控制允許,子類實例可以直接調(diào)用父類里定義的方法。繼承是實現(xiàn)類復(fù)用的重要手段。使用繼承關(guān)系繼承是實現(xiàn)類復(fù)用的重要手段。使用繼承關(guān)系來實現(xiàn)復(fù)用時,子類對象可以直接賦
4、給父類變量,這個變量具有多態(tài)性。來實現(xiàn)復(fù)用時,子類對象可以直接賦給父類變量,這個變量具有多態(tài)性。面向?qū)ο蟮某绦蛟O(shè)計過程中有兩個重要的概念:面向?qū)ο蟮某绦蛟O(shè)計過程中有兩個重要的概念:類(類(Class)Class)和對象(和對象(objectobject,也被稱為實例,,也被稱為實例,instanceinstance)。類可以包。類可以包含三種最常見的成員:含三種最常見的成員:構(gòu)造器、成員變量、和方法構(gòu)造器、成員變量、和方法。構(gòu)造器構(gòu)造器
5、用于構(gòu)造該類的實例,用于構(gòu)造該類的實例,javajava語言通過語言通過newnew關(guān)鍵字類調(diào)用構(gòu)造器,從而返回該類的實例關(guān)鍵字類調(diào)用構(gòu)造器,從而返回該類的實例。構(gòu)造器是一個類創(chuàng)建對。構(gòu)造器是一個類創(chuàng)建對象的根本途徑,如果一個類沒有構(gòu)造器,這個類通常無法創(chuàng)建實例。因此象的根本途徑,如果一個類沒有構(gòu)造器,這個類通常無法創(chuàng)建實例。因此javajava語言提供了一個功能:如果程序員沒語言提供了一個功能:如果程序員沒有為一個類編寫構(gòu)造器,則系統(tǒng)
6、會為該類提供一個默認(rèn)的構(gòu)造器,這個構(gòu)造器總是沒有參數(shù)的。一旦程序員為一個類有為一個類編寫構(gòu)造器,則系統(tǒng)會為該類提供一個默認(rèn)的構(gòu)造器,這個構(gòu)造器總是沒有參數(shù)的。一旦程序員為一個類提供了構(gòu)造器,系統(tǒng)將不再為該類提供構(gòu)造器。提供了構(gòu)造器,系統(tǒng)將不再為該類提供構(gòu)造器。構(gòu)造器用于對類實例進行初始化操作,構(gòu)造器用于對類實例進行初始化操作,構(gòu)造器支持重載構(gòu)造器支持重載,如果多個重載的構(gòu)造器里包含了相同的初始化代碼,則可以,如果多個重載的構(gòu)造器里包含了
7、相同的初始化代碼,則可以把這些初始化代碼放置在把這些初始化代碼放置在普通初始化塊普通初始化塊里完成,初始化塊總在構(gòu)造器執(zhí)行之前被調(diào)用。里完成,初始化塊總在構(gòu)造器執(zhí)行之前被調(diào)用。靜態(tài)初始化塊代碼靜態(tài)初始化塊代碼用于初始化用于初始化類,在類初始化階段被執(zhí)行。如果繼承樹里某一個類需要被初始化時,系統(tǒng)將會同時初始化該類的所有父類。類,在類初始化階段被執(zhí)行。如果繼承樹里某一個類需要被初始化時,系統(tǒng)將會同時初始化該類的所有父類。構(gòu)造器修飾符構(gòu)造器修
8、飾符:可以是:可以是publicpublic、protectedprotected、privateprivate其中之一,或者省略構(gòu)造器名:其中之一,或者省略構(gòu)造器名:構(gòu)造器名必須和類名相同構(gòu)造器名必須和類名相同。注意:注意:構(gòu)造器既不能定義返回值類型,也不能使用構(gòu)造器既不能定義返回值類型,也不能使用voidvoid聲明構(gòu)造器沒有返回值聲明構(gòu)造器沒有返回值。如果為構(gòu)造器定義了返回值類型,。如果為構(gòu)造器定義了返回值類型,或使用或使用voi
9、dvoid聲明構(gòu)造器沒有返回值,編譯時不會出錯,但聲明構(gòu)造器沒有返回值,編譯時不會出錯,但javajava會把這個所謂的構(gòu)造器當(dāng)成方法來處理會把這個所謂的構(gòu)造器當(dāng)成方法來處理——它就不再它就不再是構(gòu)造器。是構(gòu)造器。實際上類的構(gòu)造器是有返回值的,當(dāng)使用實際上類的構(gòu)造器是有返回值的,當(dāng)使用newnew關(guān)鍵字來調(diào)用構(gòu)造器時,構(gòu)造器返回該類的實例,可以把這個類的實例關(guān)鍵字來調(diào)用構(gòu)造器時,構(gòu)造器返回該類的實例,可以把這個類的實例當(dāng)成構(gòu)造器的返回值
10、。因此構(gòu)造器的返回值類型總是當(dāng)前類,無須定義返回值類型。不要在構(gòu)造器里顯式的使用當(dāng)成構(gòu)造器的返回值。因此構(gòu)造器的返回值類型總是當(dāng)前類,無須定義返回值類型。不要在構(gòu)造器里顯式的使用returnreturn來返回當(dāng)前類的對象,因為構(gòu)造器的返回值是隱式的。來返回當(dāng)前類的對象,因為構(gòu)造器的返回值是隱式的。javajava類名必須是由一個或多個有意義的單詞連綴而成的,每個單詞首字母大寫,其他字母全部小寫,單詞與單詞之間類名必須是由一個或多個有意義
11、的單詞連綴而成的,每個單詞首字母大寫,其他字母全部小寫,單詞與單詞之間不要使用任何分隔符。不要使用任何分隔符。成員變量:成員變量:成員變量的修飾符:成員變量的修飾符:publicpublic、protectedprotected、privateprivate、staticstatic、finalfinal前三個只能出現(xiàn)一個再和后面的修飾符組合起來前三個只能出現(xiàn)一個再和后面的修飾符組合起來修飾成員變量,也可省略。修飾成員變量,也可省略。成
12、員變量:由一個或者多個有意義的單詞連綴而成,第一個單詞首字母小寫,后面每個單詞首字母大寫,其他字母全成員變量:由一個或者多個有意義的單詞連綴而成,第一個單詞首字母小寫,后面每個單詞首字母大寫,其他字母全部小寫,單詞與單詞之間不要使用任何分隔符。部小寫,單詞與單詞之間不要使用任何分隔符。類型:可以是類型:可以是javajava語言允許的任何數(shù)據(jù)類型,包括基本類型和引用類型。語言允許的任何數(shù)據(jù)類型,包括基本類型和引用類型。成員方法:成員方法
13、:方法修飾符:方法修飾符:publicpublic、protectedprotected、privateprivate、staticstatic、finalfinal、abstractabstract,前三個只能出現(xiàn)一個,,前三個只能出現(xiàn)一個,staticstatic和finalfinal最多只能出現(xiàn)其中的一個,和多只能出現(xiàn)其中的一個,和abstractabstract組合起來使用。也可省略。組合起來使用。也可省略。返回值類型:可以是返
14、回值類型:可以是javajava語言的允許的任何數(shù)據(jù)類型,包括基本類型和引用類型。語言的允許的任何數(shù)據(jù)類型,包括基本類型和引用類型。方法名:和成員變量的方法命名規(guī)則相同,通常建議方法名以英文動詞開頭。方法名:和成員變量的方法命名規(guī)則相同,通常建議方法名以英文動詞開頭。方法體里多條可執(zhí)行語句之間有嚴(yán)格的執(zhí)行順序,排在方法體前面的語句總先執(zhí)行,排在方法體后面的語句總是后執(zhí)方法體里多條可執(zhí)行語句之間有嚴(yán)格的執(zhí)行順序,排在方法體前面的語句總先執(zhí)
15、行,排在方法體后面的語句總是后執(zhí)行。行。staticstatic是一個特殊的關(guān)鍵字,它可用于修飾方法、成員變量等成員。是一個特殊的關(guān)鍵字,它可用于修飾方法、成員變量等成員。staticstatic修飾的成員表明它屬于這個類本身,而修飾的成員表明它屬于這個類本身,而類作為調(diào)用者。也就是說類作為調(diào)用者。也就是說javajava中看起來某些方法可以被獨立執(zhí)行,但實際上還是使用中看起來某些方法可以被獨立執(zhí)行,但實際上還是使用thisthis或者
16、類來作為調(diào)用者。或者類來作為調(diào)用者。JavaJava里方法參數(shù)傳遞方式只有一種:值傳遞。所謂值傳遞,就是講實際參數(shù)值的副本(復(fù)制品)傳入方法內(nèi),而參數(shù)里方法參數(shù)傳遞方式只有一種:值傳遞。所謂值傳遞,就是講實際參數(shù)值的副本(復(fù)制品)傳入方法內(nèi),而參數(shù)本身不會受到任何影響。本身不會受到任何影響。從JDK1.5JDK1.5之后,之后,javajava允許定義允許定義形參個數(shù)可變的參數(shù),從而允許為方法指定數(shù)量不確定的形參。形參個數(shù)可變的參數(shù),從
17、而允許為方法指定數(shù)量不確定的形參。如果在定義方法時,如果在定義方法時,在最后一個形參的類型后增加三點(在最后一個形參的類型后增加三點(…)則表明該形參可以接受多個參數(shù)值,多個參數(shù)值被當(dāng)成數(shù)組傳入。則表明該形參可以接受多個參數(shù)值,多個參數(shù)值被當(dāng)成數(shù)組傳入。publicpublicclassclassVarargsVarargs定義形參可變的方法定義形參可變的方法publicpublicstaticstaticvoidvoidtesttes
18、t(int(intaString...aString...books)books)booksbooks被當(dāng)成數(shù)組處理被當(dāng)成數(shù)組處理f(Stringf(Stringtmp:books)tmp:books)System.System.outout.println(tmp).println(tmp)System.System.outout.println(a).println(a)publicpublicstaticstaticvoidvoi
19、dmain(String[]main(String[]args)args)調(diào)用調(diào)用testtest方法方法testtest(5“hello““wld““aa“)(5“hello““wld““aa“)數(shù)組形式的形參可以處于形參列表的任意位置,但數(shù)組形式的形參可以處于形參列表的任意位置,但個數(shù)可變的形參只能處于形參表的最后個數(shù)可變的形參只能處于形參表的最后。也就是說最多只能有一個。也就是說最多只能有一個長度可變的形參。長度可變的形參。形參可
20、變和傳入數(shù)組的區(qū)別:形參可變和傳入數(shù)組的區(qū)別:publicpublicstaticstaticvoidvoidtest(inttest(intaString...aString...books)books)publicpublicstaticstaticvoidvoidtest(inttest(intaString[]aString[]books)books)test(5“aa““bb““cc“)test(5“aa““bb““cc“)t
21、est(5newtest(5newString[]“aa““bb““cc“)String[]“aa““bb““cc“)方法重載:方法重載:JavaJava允許同一個類里定義多個同名方法,只要形參列表不同就行。允許同一個類里定義多個同名方法,只要形參列表不同就行。如果同一個類中包含了兩個或兩個以上方法的方法如果同一個類中包含了兩個或兩個以上方法的方法名相同,但形參列表不同,則被稱為方法的重載。名相同,但形參列表不同,則被稱為方法的重載。J
22、avaJava程序確定一個方法需要三個要素:調(diào)用者;方法名;形參列表。程序確定一個方法需要三個要素:調(diào)用者;方法名;形參列表。方法的重載要求就是兩同一不同:方法的重載要求就是兩同一不同:同一個類中方法名相同,參數(shù)列表不同。至于方法的其他部分,如方法返回值類型、同一個類中方法名相同,參數(shù)列表不同。至于方法的其他部分,如方法返回值類型、修飾符等,與方法重載沒有任何關(guān)系。修飾符等,與方法重載沒有任何關(guān)系。publicpublicclasscl
23、assOverloadVarargsOverloadVarargspublicpublicvoidvoidtest(Stringtest(Stringmsg)msg)System.System.outout.println(“.println(“只有一個參數(shù)的只有一個參數(shù)的test“)test“)因為前面已經(jīng)有了一個字符串參數(shù)的方法,則長度可變形參里不包含一個字符串參數(shù)的形式因為前面已經(jīng)有了一個字符串參數(shù)的方法,則長度可變形參里不包含一
24、個字符串參數(shù)的形式publicpublicvoidvoidtest(Stringtest(String...books)...books)System.System.outout.println(“.println(“形參可變的形參可變的testtest方法方法“)“)publicpublicstaticstaticvoidvoidmain(String[]main(String[]args)args)OverloadVarargsOv
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java面試基礎(chǔ)知識點總結(jié)
- java基礎(chǔ)知識知識點
- 環(huán)保基礎(chǔ)知識點總結(jié)
- 公共基礎(chǔ)知識點總結(jié)
- 水文基礎(chǔ)知識點總結(jié)
- 初中數(shù)學(xué)知識點之基礎(chǔ)知識點總結(jié)
- 編程入門基礎(chǔ)知識點總結(jié)
- 初中數(shù)學(xué)基礎(chǔ)知識點總結(jié)
- java基礎(chǔ)知識總結(jié)
- 基礎(chǔ)知識點
- 編程入門基礎(chǔ)知識點總結(jié)
- 初中數(shù)學(xué)知識點之基礎(chǔ)知識點總結(jié)
- 公共基礎(chǔ)知識政治全套知識點總結(jié)
- 生物必修三基礎(chǔ)知識點總結(jié)
- 計算機基礎(chǔ)知識點總結(jié)
- 公共基礎(chǔ)知識重點總結(jié)必考知識點
- 初中數(shù)學(xué)之基礎(chǔ)知識點總結(jié)
- 解剖學(xué)基礎(chǔ)知識點總結(jié)
- 信息技術(shù)基礎(chǔ)知識點總結(jié)
- 電化學(xué)基礎(chǔ)知識點總結(jié)
評論
0/150
提交評論