freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java第4章面向?qū)ο蟮某绦蛟O(shè)計(jì)(編輯修改稿)

2025-07-10 07:13 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 / 為 popo開(kāi)設(shè)一個(gè)信用卡,允許最大透支限額為500元 CreditCard popo=new CreditCard( 500 ) 。 // 從 momo的信用卡取出 700元存入 popo的信用卡 if( !(700) ) (余額不足,轉(zhuǎn)帳失??! )。 else ( 700 ) 。 // 查詢 momo和 popo的信用卡余額 ( momo的信用卡余額為 +( ) )。 ( popo的信用卡余額為 +( ) ) 。 } } ?構(gòu)造方法: 構(gòu)造方法的重載: 定義多個(gè)構(gòu)造方法,其參數(shù)列表不同。 作用: 是使類(lèi)對(duì)象具有不同的初值,為類(lèi)對(duì)象的初始化提供方便。 程序舉例: ?方法成員: 方法的重載: 是指在一個(gè)類(lèi)的方法成員(包括其繼承成員)中有多個(gè)名字相同但參數(shù)列表不同的方法。 程序舉例: 計(jì)算器類(lèi)的加、減、乘、除四個(gè)方法可以進(jìn)行重載。 對(duì)象實(shí)例的創(chuàng)建 3. 靜態(tài)成員 數(shù)據(jù)成員(成員變量)的分類(lèi):有 2種。 ⑴ 實(shí)例變量 ( 非靜態(tài)變量 ) 沒(méi)有 static 關(guān)鍵字修飾。 ⑵ 類(lèi)變量 ( 靜態(tài)變量 ) 用 static 關(guān)鍵字修飾。 方法成員的分類(lèi): 分為 2種,有靜態(tài)和非靜態(tài)之分。 對(duì)象實(shí)例的創(chuàng)建 3. 靜態(tài)成員 ⑴實(shí)例(非靜態(tài))變量 沒(méi)有 static 關(guān)鍵字修飾。 使用規(guī)則: 非靜態(tài)的成員變量是指每一次創(chuàng)建對(duì)象時(shí)都會(huì)分配一個(gè)存儲(chǔ)空間來(lái)存儲(chǔ)這個(gè)變量。每一個(gè)對(duì)象都擁有這個(gè)變量的存儲(chǔ)空間,這個(gè)變量屬于對(duì)象的,是對(duì)象的變量。 例如,信用卡類(lèi)的成員變量 balance,表示信用卡的存款數(shù)。 對(duì)象實(shí)例的創(chuàng)建 3. 靜態(tài)成員 ⑵類(lèi)(靜態(tài))變量 用 static 關(guān)鍵字修飾。 使用規(guī)則 :靜態(tài)的類(lèi)成員具有類(lèi)屬性,當(dāng)創(chuàng)建一個(gè)對(duì)象或者說(shuō)實(shí)例的時(shí)候,編譯器并不會(huì)分配額外的空間給這個(gè)變量,所有的對(duì)象都共享一個(gè)變量?jī)?nèi)存空間。 用法程序舉例: 相同的信用卡,其最大透支限額maxOverdraft值都相同,將其定義為靜態(tài)變量。 【 例程 46】 (類(lèi)定義) 【 例程 47】 (實(shí)例創(chuàng)建 ) 方法成員的分類(lèi): ⑴類(lèi)方法: 用 static 關(guān)鍵字修飾。 類(lèi)方法只能操作類(lèi)變量。 ⑵實(shí)例方法: 沒(méi)有 static修飾 。 實(shí)例方法可以操作實(shí)例變量和類(lèi)變量。 用法說(shuō)明: ⑴實(shí)例方法和實(shí)例變量只能通過(guò)類(lèi)的對(duì)象調(diào)用。 ⑵類(lèi)方法和類(lèi)變量既可以通過(guò)類(lèi)的對(duì)象調(diào)用也可以通過(guò)類(lèi)名調(diào)用。 用法程序舉例 : 3. 靜態(tài)成員 :有 2 種。 靜態(tài)方法成員用法程序舉例: public class smp34 { static int a1=1, a2=2。 //類(lèi)變量 int x。 // 實(shí)例變量 smp34(){ x=99。 } public static void pntout(String s) //類(lèi)方法 { (s)。 } public static int geta1() //類(lèi)方法 { return a1。 } public void get() //實(shí)例方法 { (a1=+a1+ x=+x)。 } } 3. 靜態(tài)成員 方法成員的分類(lèi):有 2 種。 靜態(tài)方法成員用法程序舉例: class smp341 { public static void main (String args[ ]) { smp34 abc=new smp34()。 (1+2=)。 (+)。 (+)。 ()。 (你們好,朋友們! )。 (你們好,朋友們! )。 (=+())。 (=+())。 ()。 } } 3. 靜態(tài)成員 對(duì)象實(shí)例的創(chuàng)建 4. 對(duì)象的參數(shù)傳遞方式 對(duì)象作為一個(gè)變量,當(dāng)然也可以被作為參數(shù)傳遞,就像前面所說(shuō)的一樣,對(duì)象的傳遞是以引用的方式傳遞的。也就是說(shuō)當(dāng)傳遞一個(gè)對(duì)象的時(shí)候,其實(shí)傳遞的是指向?qū)ο蟮哪莻€(gè)指針,即指向某一片存儲(chǔ)區(qū)域的地址。 對(duì)象實(shí)例的創(chuàng)建 5. 變量和對(duì)象實(shí)例的生存期 成員變量的生存期如下圖 47所示。 對(duì)象實(shí)例的生存期與成員變量的生存期相比,在提供服務(wù)之后多了一個(gè)“收集”階段,這與對(duì)象實(shí)例的初始化存在著對(duì)應(yīng)關(guān)系。例如,在初始化時(shí)打開(kāi)了文件,則應(yīng)在收尾時(shí)關(guān)閉該文件。 Java語(yǔ)言為每個(gè)類(lèi)提供了一個(gè) finalize()方法,該方法負(fù)責(zé)執(zhí)行收尾工作,在對(duì)象實(shí)例被作為垃圾收集時(shí)會(huì)被隱式調(diào)用。 創(chuàng) 建 初 始 服 務(wù)收 集 (簡(jiǎn)單了解即可 ) 概念: 是定義在類(lèi)中的類(lèi)(類(lèi)支持嵌套定義) 作用 :是將邏輯上相關(guān)的類(lèi)放到一起。 匿名內(nèi)部類(lèi): 它沒(méi)有類(lèi)名,在定義類(lèi)的同時(shí)生成該類(lèi)的一個(gè)實(shí)例。由于不會(huì)在其他地方用到該類(lèi),所以不用取名字。 介紹目的: 在后面學(xué)習(xí)關(guān)于 Swing/AWT的章節(jié)中出現(xiàn)的內(nèi)部類(lèi)不會(huì)感到突然,這里僅僅簡(jiǎn)單舉例說(shuō)明匿名的內(nèi)部類(lèi)。 代碼如下: ( new WindowAdapter( ) // 匿名內(nèi)部類(lèi) { public void windowClosing (WindowEvent e) { (0)。 } } ) 對(duì)象實(shí)例的創(chuàng)建 封裝、繼承與多態(tài) 1. 封裝 封裝: 是指利用抽象數(shù)據(jù)類(lèi)型將數(shù)據(jù)和基于數(shù)據(jù)的操作封裝在一起,數(shù)據(jù)被保護(hù)在抽象數(shù)據(jù)類(lèi)型的內(nèi)部,系統(tǒng)的其他部分只有通過(guò)包裝在數(shù)據(jù)外面的合法操作,才能夠與這個(gè)抽象數(shù)據(jù)類(lèi)型交互。 類(lèi)的定義體現(xiàn)類(lèi)的封裝性,類(lèi)是數(shù)據(jù)和操作的封裝。 封裝、繼承與多態(tài) 2. 繼承 。 引例: 水果類(lèi)與桔子類(lèi)、蘋(píng)果類(lèi)、香蕉類(lèi)之間有何關(guān)系? 類(lèi)的繼承關(guān)系。 使用類(lèi)的繼承的好處: 可以使程序的整個(gè)架構(gòu)具有相當(dāng)?shù)撵`活性,更具有層次,提高了代碼的可重用性,減少了程序設(shè)計(jì)的難度。 說(shuō)明: Java類(lèi)只支持類(lèi)之間的單繼承,即一個(gè)類(lèi)至多只有一個(gè)超類(lèi)。 Java中所有的類(lèi)都派生自 java . lang . Object 類(lèi)。 下面將詳細(xì)講解類(lèi)繼承的語(yǔ)法和實(shí)現(xiàn)。 封裝、繼承與多態(tài) 2. 繼承 ( 1)類(lèi)繼承的定義語(yǔ)法格式 : 在 Java語(yǔ)言中,一個(gè)類(lèi) A繼承另一個(gè)已存在的類(lèi)B的語(yǔ)法格式: public class A extends B { 成員列表 。 } 格式說(shuō)明: B為基類(lèi) (父類(lèi) ), A為 B的派生類(lèi) (子類(lèi) )?;ɡㄌ?hào)中的成員列表是派生類(lèi)自己的成員。 ( 2) 用法程序舉例: ( 3) 類(lèi)的繼承規(guī)則: 封裝、繼承與多態(tài) ( 2)用法程序舉例: 定義一個(gè)學(xué)生父類(lèi),再編寫(xiě)兩個(gè)子類(lèi),分別為大學(xué)生和研究生,然后再編寫(xiě)一個(gè)類(lèi),對(duì)子類(lèi)進(jìn)行用法測(cè)試。 【 例程 48 】 (父類(lèi)) 【 例程 49 】 (子類(lèi)) 【 例程 410 】 (子類(lèi)) 【 例程 411 】 (測(cè)試類(lèi)) 【 例程 48】 : public class Student //定義父類(lèi) { public final static int NUM_OF_SCORE = 3 。 //成績(jī)個(gè)數(shù) private String name 。 // 姓名,私有成員 protected int[ ] scores 。 // 成績(jī)數(shù)組 ,受保護(hù)成員 public Student( ) // 構(gòu)造方法一 { name = 。 scores = new int[ NUM_OF_SCORE ] 。 } public Student( String name ) // 構(gòu)造方法二 { = name 。 scores = new int[ NUM_OF_SCORE ] 。 } public void setName(String newName) { name = newName。 } public String getName( ) { return name。 } public void setScore(int scoreNum, int score) { // 檢查參數(shù)的正確性 if( scoreNum 0 || scoreNum = NUM_OF_SCORE ) return。 if(score 0 || score 100) return 。 scores[ scoreNum ] = score 。 } public int getScore(int scoreNum) { if(scoreNum 0 || scoreNum = NUM_OF_SCORE) return 1 。 return scores[ scoreNum ] 。 } public int getAverageScore( ) // 計(jì)算學(xué)生的平均成績(jī) { int total = 0 。 for(int i = 0。 i NUM_OF_SCORE。 i++) total = total + scores[ i ] 。 return (int) (total/NUM_OF_SCORE) 。 } } 【 例程 49】 : //定義子類(lèi)(本科生) public class Undergraduate extends Student { public String puteGrade( ) { int total = 0 。 for(int i = 0。 i NUM_OF_SCORE。 i++) total = total + scores[i] 。 if( total / NUM_OF_SCORE 60 ) return PASS 。 else return NO PASS 。 } } 例程 410: //定義子類(lèi)(研究生) public class Graduate extends Student { public String puteGrade( ) { int total = 0。 for( int i = 0。 i NUM_OF_SCORE。 i++) total = total + scores[i]。 if( total / NUM_OF_SCORE 80 ) return PASS 。 else return NO PASS 。 } } 【 例程 411】 : public class StudentDemo { public static void main( String [ ] args )
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1