版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第3章面向?qū)ο螅ㄉ希┌咐?-1 定義學(xué)生類一、案例描述1、考核知識(shí)點(diǎn)名稱:類的定義2、練習(xí)目標(biāo)掌握類定義的方式掌握如何在類中定義成員變量和成員方法3、需求分析在面向?qū)ο蟮乃枷胫凶詈诵木褪菍?duì)象,在程序中創(chuàng)建對(duì)象的前提是需要定義一個(gè)類。為了讓初學(xué)者掌握類的定義方式,本案例將設(shè)計(jì)一個(gè)表示學(xué)生的類,該類具有表示姓名的屬性name和表示年齡的屬性age,同時(shí)還具有表示說話行為的方法speak(),用于輸出學(xué)生的姓名和年齡。4、設(shè)計(jì)思路(實(shí)現(xiàn)原理)1)使用class關(guān)鍵字定義一個(gè)表示學(xué)生類型的類,類名為Student。2)在Student類中定義兩個(gè)成員變量name和age,分別用來表示姓名和年齡。其中,
2、 name的數(shù)據(jù)類型為String ,變量age的數(shù)據(jù)類型為int。3)在Student類中定義一個(gè)表示說話行為的speak()方法,用于輸出學(xué)生的姓名和年齡。、案例實(shí)現(xiàn)三、案例總結(jié)1、類中可以定義成員變量和成員方法,其中成員變量用于描述對(duì)象的特征,也被稱為屬性。成員屬 性用于描述對(duì)象的行為。案例3-2同一對(duì)象被多個(gè)變量引用、案例描述1、考核知識(shí)點(diǎn)名稱:對(duì)象創(chuàng)建與使用2、練習(xí)目標(biāo)掌握如何創(chuàng)建類的對(duì)象掌握如何使用兩個(gè)或者多個(gè)變量引用同一個(gè)實(shí)例對(duì)象。3、需求分析在程序中,一個(gè)對(duì)象可能在多處使用,這樣就可能需要有多個(gè)變量來引用這個(gè)對(duì)象。為了讓初學(xué)者更好地掌握對(duì)象的創(chuàng)建和使用,本案例將基于案例3-1,
3、創(chuàng)建三個(gè)學(xué)生對(duì)象,它們的引用變量分別是si、s2和s3,首先分別使用si和s2引用,為name和age賦值,然后調(diào)用speak()方法,最后將s2變量賦值給s3, s3也調(diào)用speak()方法。4、設(shè)計(jì)思路(實(shí)現(xiàn)原理)1)編寫 Example01 類2)在main()方法中,創(chuàng)建 Student類的第一個(gè)對(duì)象,其引用變量為 s1,使用s1調(diào)用name和age 變量分別為它們賦值為“張三”和“19”,然后調(diào)用speak()方法。3)創(chuàng)建Student類的第二個(gè)對(duì)象,其引用變量為s2,使用s2分別為name和age賦值為“李四”和“ 20”,然后調(diào)用speak()方法。4)創(chuàng)建Student類的第
4、三個(gè)對(duì)象,其引用變量為s3,將s2的值賦給s3,然后使用s3調(diào)用speak()方法。、案例實(shí)現(xiàn)31運(yùn)行結(jié)果如圖3-1所示。ExampleOl gwy112StudentTe&tO1 <。 ="C:'Program FilesJava jdkl. 8. O_221binjava. exe". 張三 李四 李四 19 20 20 張三的年齡是:19 李四的年齡是:20 李四的年齡是120進(jìn)程完成,退出碼0生 Run - fi: TODO Terminal 2: MessagesI Event Log口 瑞譯成功完成in 3 s 333 ms (2分神之前)
5、13:1 CRLF ; UTF;、圖3-1 運(yùn)行結(jié)果三、案例總結(jié)1、對(duì)象的創(chuàng)建:類名 對(duì)象名=new類名();2、對(duì)象的引用:對(duì)象引用.對(duì)象成員案例3-3類的封裝、案例描述1、考核知識(shí)點(diǎn)名稱:類的封裝2、練習(xí)目標(biāo)了解為什么要對(duì)類進(jìn)行封裝掌握如何實(shí)現(xiàn)類的封裝3、需求分析在案例3-2中,si對(duì)象的年齡是可以隨便賦值的,如果將 age的值賦值為-30,顯然違背了事 實(shí)。為了解決這類問題,我們需要對(duì)類進(jìn)行封裝,防止外界對(duì)類中的成員變量隨意訪問。為了讓 初學(xué)者更好地掌握類的封裝,本案例將使用private關(guān)鍵字對(duì)成員變量 name和age進(jìn)行私有化,同時(shí)分別提供一個(gè) setName(String n)和
6、setAge(int a)方法用于外界的訪問,其中 setAge(int a)中需 要age進(jìn)行判斷。4、設(shè)計(jì)思路(實(shí)現(xiàn)原理)1)編寫測(cè)試類Example02,將屬性age的值設(shè)為-30,演示不合理現(xiàn)象。2)對(duì)Student類進(jìn)行修改,將name和age屬性使用private修飾,然后定義getName()、setName(String n)、getAge()和setAge(int a)四個(gè)對(duì)外訪問 name和age的方法。3)在setAge(int a)方法中對(duì)傳入的參數(shù)進(jìn)行檢查,如果輸入值為負(fù)數(shù),則打印出“設(shè)置的年齡不合法”,如果不為負(fù)數(shù),才將其設(shè)置為age屬性的值。4)對(duì)Example0
7、2類進(jìn)行修改,在main()方法中創(chuàng)建 Student類的實(shí)例對(duì)象,通過調(diào)用對(duì)象的setName(String n)和setAge(int a)方法來設(shè)置的 name屬性和age屬性值,并調(diào)用 speak()方法。、案例實(shí)現(xiàn)1、定義Example03類,代碼如下所示:運(yùn)行結(jié)果如圖3-3所示。UJsurulsMIJ ZIJJDA# /一;«,112StudentT«$tO2:(t -"C:Program FilesJavajdkl. 8. 0_221binjava, exe* . 張三的年齡是:-30 李四的年酸是,-20 李四的年齡是;-20生 Runi=&
8、; TODOTerminalQ所有文件都是最新的片£!l之前1 Evtnt Log17:33 CRLF ; UTF-8 : 、 圖3-2運(yùn)行結(jié)果從上圖可以看出,當(dāng)將 age的值設(shè)置為-30后,程序不會(huì)報(bào)錯(cuò),但卻違背了現(xiàn)實(shí)。2、對(duì)Student類進(jìn)行封裝,其代碼如下:進(jìn)程完成,退出碼0運(yùn)行結(jié)果如圖3-4所示。C:Program FilesJavajdkl, 8. 0_221binjava, exe .張二的年齡是: 30進(jìn)程完成,退出碼。®uo>«bill.<xt生 RunQ 榮譯成功完成in 1 s 843 ms (1分鐘之前)Q Event Log1
9、6:23 CRLF t UTF-fl :、圖3-3運(yùn)行結(jié)果三、案例總結(jié)1、所謂的類的封裝是指在定義一個(gè)類的時(shí)候,將類的屬性私有化,即使用private關(guān)鍵字來修飾。2、私有屬性只能在它所在的類中被訪問,不允許外界隨意訪問,如果外界想要訪問私有成員,需要 提供一些使用 public修飾的公有方法,其中包才用于獲取屬性的getXxx方法和設(shè)置屬性值的setXxx 方法。案例3-4定義有參的構(gòu)造方法、案例描述1、考核知識(shí)點(diǎn)名稱:構(gòu)造方法的定義2、練習(xí)目標(biāo)掌握有參構(gòu)造方法的定義方式3、需求分析如果希望在創(chuàng)建對(duì)象的時(shí)候直接為其屬性賦值,可以定義有參的構(gòu)造方法。有參構(gòu)造方法指 的是在初始化對(duì)象時(shí),接受外部
10、傳入的值并賦給對(duì)象的屬性。為了讓初學(xué)者掌握有參構(gòu)造方法的 用法,本案例將演示如何使用有參構(gòu)造方法完成對(duì)象屬性的初始化。4、設(shè)計(jì)思路(實(shí)現(xiàn)原理)1)定義一個(gè)Student類,該類有一個(gè) age屬性,在類中定義一個(gè)有參數(shù)的構(gòu)造方法,該參數(shù)用 于為age屬性賦值。2)編寫一個(gè)測(cè)試類Example04,在main()方法中通過有參構(gòu)造方法創(chuàng)建一個(gè)對(duì)象。3)打印該對(duì)象age屬性的值。、案例實(shí)現(xiàn)其代碼如下(主函數(shù))其代碼如下(有參構(gòu)造方法)運(yùn)行結(jié)果如圖3-4示。Run:. ExampleU4gwyn2StudentTestO4空一T"C:Program FilesJavajdkL 8. 0_22
11、1binjava. exe .;60BZ進(jìn)程完成,退出碼0M 4: Runm皂 &TODQ B T岷rmlndlM Qe M后.田口野營CEntL。囂圖3-4運(yùn)行結(jié)果三、案例總結(jié)1、有參構(gòu)造方法指的是在初始化對(duì)象時(shí),接受外部傳入的值并賦給對(duì)象的屬性。2、在調(diào)用方法之前必須先新建對(duì)象,然后再進(jìn)行其它操作。案例3-5 構(gòu)造方法的重載、案例描述1、考核知識(shí)點(diǎn)名稱:構(gòu)造方法的重載2、練習(xí)目標(biāo)掌握如何在類中定義重載的構(gòu)造方法3、需求分析和普通方法一樣,構(gòu)造方法也可以重載。不同的構(gòu)造方法,可以為不同的屬性進(jìn)行賦值。本案例將通過創(chuàng)建對(duì)象的方式演示不同構(gòu)造方法的使用方式,并根據(jù)構(gòu)造方法的輸出結(jié)果對(duì)構(gòu)造
12、方法的重載進(jìn)行學(xué)習(xí)。4、設(shè)計(jì)思路(實(shí)現(xiàn)原理)1)對(duì)Student類進(jìn)行修改,在類中定義三個(gè)重載的構(gòu)造方法,包括無參的構(gòu)造方法,接收一個(gè)String類型參數(shù)的構(gòu)造方法,接收String類型和int類型兩個(gè)參數(shù)的構(gòu)造方法。2)編寫測(cè)試類 Example05 ,在main()方法中,分別使用三個(gè)重載的構(gòu)造方法創(chuàng)建三個(gè)Student對(duì)象。、案例實(shí)現(xiàn)其代碼如下(主函數(shù))Student類中的代碼如下:運(yùn)行結(jié)果如圖3-5。Examp leO 5gwy 112StudentTestO5 xO “C:Program FilesJavajdkL 8. O_221binjava. exe . 我是有參函數(shù)的;小明我
13、現(xiàn)在。歲我是String函數(shù)的name,我的名字是:張三 他是String和函數(shù)中的李四的年齡是;15進(jìn)程完成,退出碼0圖3-5行結(jié)果三、案例總結(jié)1、構(gòu)造方法的方法名可以相同,但是形參的數(shù)量和類型需要不同。2、多個(gè)“相似的”構(gòu)造函數(shù)共同構(gòu)成了方法的重載。案例3-6 this關(guān)鍵字訪問構(gòu)造方法一、案例描述1、考核知識(shí)點(diǎn)名稱:this關(guān)鍵字的使用2、練習(xí)目標(biāo)掌握如何在構(gòu)造方法中使用this關(guān)鍵字訪問重載的構(gòu)造方法3、需求分析如果一個(gè)類中定義了多個(gè)重載的構(gòu)造方法,為了避免在重載的構(gòu)造方法中重復(fù)書寫代碼,可以在一個(gè)構(gòu)造方法中使用this關(guān)鍵字調(diào)用其它的構(gòu)造方法。為了讓初學(xué)者掌握this關(guān)鍵字訪問構(gòu)造方
14、法的用法,本案例將演示如何使用this關(guān)鍵字調(diào)用其他的構(gòu)造方法。4、設(shè)計(jì)思路(實(shí)現(xiàn)原理)1)在Student類中創(chuàng)建多個(gè)重載的構(gòu)造方法,包括無參的構(gòu)造方法和一個(gè)參數(shù)的構(gòu)造方法,以 及兩個(gè)參數(shù)的構(gòu)造方法。2)在一個(gè)參數(shù)的構(gòu)造方法中使用this關(guān)鍵字調(diào)用無參構(gòu)造方法,在兩個(gè)參數(shù)的構(gòu)造方法中調(diào)用一個(gè)參數(shù)的構(gòu)造方法。3)編寫測(cè)試類Example06,在main()方法中,調(diào)用兩個(gè)參數(shù)的構(gòu)造方法創(chuàng)建對(duì)象,演示構(gòu)造方 法的執(zhí)行順序。、案例實(shí)現(xiàn)代碼如下(主函數(shù))代碼如下(外部函數(shù))運(yùn)行結(jié)果如圖3-6。Excurn pleO&gwyl 12StudentTestO60 “C:Program Files
15、Javajdkl. 8. 0_221binjava, exe" . name張三age>18name李四age>18name上五age>50進(jìn)程完成,退出碼0生 Run S ft: TODO 18 Terminal Ot MessagesQ Event Log口 編降母功完成in 1 s396e5(4分神之前)10:1 CRLF : UTF-8 S、S圖3-6行結(jié)果三、案例總結(jié)1、this關(guān)鍵字可以用來區(qū)分當(dāng)前對(duì)象。2、在構(gòu)造器中使用this關(guān)鍵字來調(diào)用對(duì)象本身的其它構(gòu)造器。3、this關(guān)鍵字還有一個(gè)重大作用就是返回類的引用。如:在代碼中,可以使用 return t
16、his來返回某個(gè) 類的引用。此時(shí),這個(gè)關(guān)鍵字就代表類的名稱。案例3-7垃圾回收機(jī)制、案例描述1、考核知識(shí)點(diǎn)名稱:垃圾回收機(jī)制2、練習(xí)目標(biāo)熟悉垃圾回收機(jī)制的特點(diǎn)掌握垃圾回收相關(guān)的方法3、需求分析垃圾對(duì)象會(huì)占用一定的內(nèi)存空間,當(dāng)垃圾對(duì)象積累到一定程度后,Java虛擬機(jī)會(huì)自動(dòng)進(jìn)行垃圾回收。但是,如果希望程序可以及時(shí)通知Java虛擬機(jī)回收垃圾對(duì)象,可以通過System.gc()方法強(qiáng)制啟動(dòng)垃圾回收器回收垃圾。為了讓初學(xué)者熟悉垃圾回收機(jī)制,本案例將演示如何通過 System.gc()方法強(qiáng)制啟動(dòng)垃圾回收器回收垃圾。4、設(shè)計(jì)思路(實(shí)現(xiàn)原理)1)對(duì)Student類進(jìn)行修改,在類中對(duì)finalize。方法進(jìn)行
17、重寫。2)編寫測(cè)試類 Example07,創(chuàng)建若干個(gè) Student對(duì)象,然后調(diào)用 System.gc()方法通知垃圾回收 期回收垃圾,為了確??梢钥吹嚼厥盏倪^程,可以在類中編寫一個(gè)簡單的循環(huán)語句,延 長程序執(zhí)行時(shí)間。、案例實(shí)現(xiàn)其代碼如下(主函數(shù))其代碼如下(外部函數(shù))運(yùn)行結(jié)果如圖3-7。txample0'7gwy11 ZStudentTestO70 一*C: Program FilesJavajdkl. 8, 0_221binjava. exe* *.我是循環(huán)我是循環(huán)我是循環(huán)我是循環(huán)我是循環(huán)我是循環(huán)我是循環(huán)我是循環(huán)我是循環(huán)我是循環(huán)進(jìn)程完成,退出碼0 4: Run := £
18、;: TODOTerminal - 0: Messages編譯成功完成in 1 $ 49 ms【2分鐘之前)Q Event Log13:17 CRLFi UTF=a i 母圖3-7行結(jié)果三、案例總結(jié)1、java垃圾回收器主要負(fù)責(zé)發(fā)現(xiàn)無用的對(duì)象;2、回收被無用對(duì)象占用的內(nèi)存空間,使之再次被程序使用。案例3-8靜態(tài)變量、案例描述1、考核知識(shí)點(diǎn)名稱:靜態(tài)變量2、練習(xí)目標(biāo)了解靜態(tài)變量的作用掌握靜態(tài)變量的定義和使用方式3、需求分析當(dāng)多個(gè)對(duì)象存儲(chǔ)的數(shù)據(jù)相同時(shí),可以使用靜態(tài)變量的方式存儲(chǔ)。例如,有一個(gè)Student類具有name、className屬性,請(qǐng)根據(jù)該類創(chuàng)建出三個(gè) Student對(duì)象,并將這些對(duì)象
19、的 className值 都設(shè)置為“三年級(jí)二班”。4、設(shè)計(jì)思路(實(shí)現(xiàn)原理)1) 定義Student類,并在類中定義 name和className屬性。2)編寫測(cè)試類 Example08 ,在main()方法中創(chuàng)建三個(gè)學(xué)生對(duì)象,并分別為這些對(duì)象的name和className屬性賦值,然后輸出這些對(duì)象的name和className值。3) 對(duì)Student類進(jìn)行修改,將 className定義為靜態(tài)變量。4)修改測(cè)試類,在 main()方法中使用 Student.className = 三年級(jí)二班”語句為靜態(tài)變量 className進(jìn)行賦值,然后輸出這些對(duì)象的name和className值。為了更
20、好地理解 Student類中靜態(tài)變量className和Student實(shí)例對(duì)象的關(guān)系,下面通過一個(gè) 圖例進(jìn)行演示,如圖 3-11所示:StudentclassNameStudent實(shí)例對(duì)象si s2 s3圖3-1靜態(tài)變量與實(shí)例對(duì)象的關(guān)系、案例實(shí)現(xiàn)其代碼如下(主函數(shù))其代碼如下(外部函數(shù))運(yùn)行結(jié)果如圖3-8。ExampleOSgwyl 12§ tudentT 然出84 #C: Program FilesJavajdkl. 8. 0 .221 binjava, exe .張三的隼齡是18李四的年齡是19王五的隼齡是20以上三人都是:三年級(jí)二班的學(xué)生進(jìn)程完成,退出嗎0S 叁 TODO EB
21、I Termimall M 0: MessagesQ Ewot Log圖3-8行結(jié)果三、案例總結(jié)1、一個(gè)類的靜態(tài)方法只能訪問靜態(tài)變量。2、一個(gè)類的靜態(tài)方法不能夠直接調(diào)用非靜態(tài)方法。3、如訪問控制權(quán)限允許,靜態(tài)變量和靜態(tài)方法也可以通過對(duì)象來訪問,但是不被推薦;4、靜態(tài)方法中不存在當(dāng)前對(duì)象,因而不能使用this。5、靜態(tài)方法不能被非靜態(tài)方法覆蓋。案例3-9靜態(tài)方法中訪問類的成員、案例描述1、考核知識(shí)點(diǎn)名稱:靜態(tài)方法2、練習(xí)目標(biāo)了解在靜態(tài)方法中只能訪問類的靜態(tài)成員,而不能訪問非靜態(tài)成員。3、需求分析在程序中經(jīng)常會(huì)調(diào)用方法,但靜態(tài)方法之間、靜態(tài)方法和非靜態(tài)方法之間,它們是否能夠互 相調(diào)用呢?請(qǐng)編寫一個(gè)
22、測(cè)試類,在類中定義若干個(gè)靜態(tài)方法和非靜態(tài)方法,通過方法之間的相互 調(diào)用,演示靜態(tài)方法和非靜態(tài)方法的調(diào)用情況。4、設(shè)計(jì)思路(實(shí)現(xiàn)原理)1)編寫 ExamplelO類,在類中定義兩個(gè)靜態(tài)方法staticMethod1()、staticMethod2(),兩個(gè)非靜態(tài)方法 nonStaticMethod1()、nonStaticMethod2()2)在ExamplelO類中,針對(duì)定義的四個(gè)方法進(jìn)行互相調(diào)用,觀察調(diào)用情況。、案例實(shí)現(xiàn)其代碼如下(主函數(shù))其代碼如下(外部函數(shù))運(yùn)行結(jié)果如圖3-9。Example09gwy112StudentTeitO9 xQ - E*C:Program FilesJavaj
23、dkl_ 8. O_221binjava.exe* .一;«一我是靜態(tài)方法1我是靜態(tài)方法2我是靜態(tài)方法2我是動(dòng)態(tài)方法1我是辭態(tài)方法1我是靜態(tài)方法2我是動(dòng)態(tài)方法2我是動(dòng)態(tài)方法1我是靜態(tài)方法1我是靜態(tài)方法2進(jìn)程完成,退出碼0,生 Run M §: TODO 喀 Terminal - Q,. MessagesQ Event Log口騙譯成功完成"41m便分神之醐26:18 CRLF : UTF-8 :、母圖3-9行結(jié)果三、案例總結(jié)1、一個(gè)類的靜態(tài)方法只能訪問靜態(tài)變量,非靜態(tài)方法既可以訪問靜態(tài)方法,也可以訪問非靜態(tài)方法。2、一個(gè)類的靜態(tài)方法不能夠直接調(diào)用非靜態(tài)方法。4、靜
24、態(tài)方法中不存在當(dāng)前對(duì)象,因而不能使用this。5、靜態(tài)方法不能被非靜態(tài)方法覆蓋。案例3-10代碼塊、案例描述1、考核知識(shí)點(diǎn)名稱:靜態(tài)代碼塊2、練習(xí)目標(biāo)了解不同分類的代碼塊掌握不同代碼塊的作用及其執(zhí)行時(shí)機(jī)3、需求分析有時(shí)候,需要將某一段關(guān)聯(lián)緊密的或者實(shí)現(xiàn)了某一功能的代碼封裝的一個(gè)代碼塊中。為了讓 初學(xué)者熟悉代碼塊的應(yīng)用,本案例將編寫一個(gè)包含了靜態(tài)代碼塊,局部代碼塊和構(gòu)造代碼塊的類,演示不同代碼塊之間的執(zhí)行時(shí)機(jī)。4、設(shè)計(jì)思路(實(shí)現(xiàn)原理)1)編寫Examplell類,在類中定義一個(gè)靜態(tài)代碼塊、一個(gè)構(gòu)造代碼塊、一個(gè)無參的構(gòu)造方法和 一個(gè)成員方法localBlock(),在localBlock()方法中
25、定義一個(gè)局部代碼塊。2)創(chuàng)建Examplell類的兩個(gè)實(shí)例對(duì)象,使用 Examplell類型的變量el和e2引用,并通過變量 el和e2調(diào)用這兩個(gè)對(duì)象的localBlock()方法。、案例實(shí)現(xiàn)其代碼如下(主函數(shù))其代碼如下(外部函數(shù))運(yùn)行結(jié)果如圖3-10ExamplelOgwyl 12StudentTest1O"C:Program FilesJavajdkL 8. 0_221binjava. exe",.我是成員方法;18我是成員方法:18進(jìn)程完成,退出碼0Q Ev#n( LogUTT-8 :、自 4: Kiifi 5= &TOOO H TerminalMS Mo4
26、配Q 墉譯成功完成in 1 $ 2S9 ms (1分林之匐20:12 CRLF :圖3-10結(jié)果三、案例總結(jié)1、在java中將代碼用括起來的部分叫做代碼塊,分為局部代碼塊,構(gòu)造代碼塊,靜態(tài)代碼塊,同 步代碼塊。2、局部代碼塊 :在方法中出現(xiàn);限定變量生命周期,及早釋放,提高內(nèi)存利用率。3、構(gòu)造代碼塊(初始化塊廠 在類中方法外出現(xiàn);多個(gè)構(gòu)造方法中相同的代碼存放到一起,每次調(diào) 用構(gòu)造都執(zhí)行,并且在構(gòu)造方法前執(zhí)行4、靜態(tài)代碼塊:在類中方法外出現(xiàn),并加上 static修飾;用于給類進(jìn)行初始化,在加載的時(shí)候就執(zhí) 行,并且只執(zhí)行一次。一般用于加載驅(qū)動(dòng)。5、當(dāng)多線程并發(fā),有多段代碼同時(shí)執(zhí)行時(shí),我們希望某一段
27、代碼執(zhí)行的過程中CPU不要切換到其他線程工作.這時(shí)就需要同步.如果兩段代碼是同步的,那么同一時(shí)間只能執(zhí)行一段 ,在一段代碼沒 執(zhí)行結(jié)束之前,不會(huì)執(zhí)行另外一段代碼.o案例3-11靜態(tài)內(nèi)部類成員的定義和訪問、案例描述1、考核知識(shí)點(diǎn)名稱:成員內(nèi)部類一一靜態(tài)內(nèi)部類2、練習(xí)目標(biāo)理解在靜態(tài)內(nèi)部類中可以定義靜態(tài)成員和非靜態(tài)成員掌握訪問靜態(tài)內(nèi)部類中靜態(tài)成員和非靜態(tài)成員的方式3、需求分析靜態(tài)內(nèi)部類中可以定義靜態(tài)成員和非靜態(tài)成員,這兩者的訪問方式有所不同。為了讓初學(xué)者 掌握靜態(tài)內(nèi)部類中成員的訪問方式,本案例將設(shè)計(jì)一個(gè)靜態(tài)內(nèi)部類,并編寫測(cè)試類演示如何訪問 靜態(tài)內(nèi)部類中的靜態(tài)成員和非靜態(tài)成員。4、設(shè)計(jì)思路(實(shí)現(xiàn)原理)1)定義外部類 Outer,在Outer類中定義一個(gè)靜態(tài)內(nèi)部類 Inner。2)在Inner中定義兩個(gè)String類型變量,一個(gè)靜態(tài)變量staticField ,其值為“靜態(tài)內(nèi)部類的靜態(tài)變量”,一個(gè)非靜態(tài)變量 nonStaticField ,其值為“靜態(tài)內(nèi)部類的非靜態(tài)變量”。定義兩個(gè)方法,一個(gè)靜態(tài)方法 staticMethod()打印“靜態(tài)內(nèi)部類的靜態(tài)方法”,一個(gè)非靜態(tài)方法 nonStaticMethod() 打印“靜態(tài)內(nèi)部類的非靜態(tài)方法”。3)編寫Example12類,在類的 main()方法中調(diào)用Inne
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- (新教材)2026年青島版八年級(jí)上冊(cè)數(shù)學(xué) 1.1 定義與命題 課件
- 中風(fēng)鼻飼護(hù)理質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)
- 腸梗阻患者的排便觀察與護(hù)理
- 2025年辦公室家具采購協(xié)議
- 《污染地塊可持續(xù)風(fēng)險(xiǎn)管控與低碳再利用技術(shù)指南》(征求意見稿)
- 2025年你的運(yùn)動(dòng)目標(biāo)需要這些數(shù)據(jù)支撐
- 2025年測(cè)試自動(dòng)化中的異常日志分析
- 2026 年中職開放教育(開放教育理論)試題及答案
- 省直考試真題及答案
- 聲音信號(hào)壓縮方法
- GB 46768-2025有限空間作業(yè)安全技術(shù)規(guī)范
- GJB827B--2020軍事設(shè)施建設(shè)費(fèi)用定額
- 短暫性腦缺血發(fā)作診療指南診療規(guī)范
- 五子棋社團(tuán)活動(dòng)方案及五子棋社團(tuán)活動(dòng)教案
- 個(gè)人獨(dú)資企業(yè)公司章程(商貿(mào)公司)
- GA/T 1073-2013生物樣品血液、尿液中乙醇、甲醇、正丙醇、乙醛、丙酮、異丙醇和正丁醇的頂空-氣相色譜檢驗(yàn)方法
- A建筑公司發(fā)展戰(zhàn)略研究,mba戰(zhàn)略管理論文
- 中國汽車工業(yè)協(xié)會(huì)-軟件定義汽車:產(chǎn)業(yè)生態(tài)創(chuàng)新白皮書v1.0-103正式版
- 情報(bào)學(xué)-全套課件(上)
- 公司戰(zhàn)略規(guī)劃和落地方法之:五看三定工具解析課件
評(píng)論
0/150
提交評(píng)論