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

正文內(nèi)容

javaee基礎(chǔ)教程第5章類的高級(jí)特性ppt(已修改)

2024-10-28 16:16 本頁(yè)面
 

【正文】 清華大學(xué)出版社 JavaEE基礎(chǔ)教程 第 5章 類的高級(jí)特性 static關(guān)鍵字 this 關(guān)鍵字 靜態(tài)導(dǎo)入 final關(guān)鍵字 抽象類與接口 Java EE基礎(chǔ)教程 2 2021年 11月 10日星期三 返回 static關(guān)鍵字 ? static 關(guān)鍵字用來(lái)聲明靜態(tài)變量和靜態(tài)方法。例如: ? class MyClass { ? static int i。 ? static void increase(){ ? i ++。 ? } ? } ? 靜態(tài)變量和靜態(tài)方法為類中所有對(duì)象所共有,可以不創(chuàng)建對(duì)象,直接 引用。也稱為類變量和類方法。 ? 引用方式:類名 .靜態(tài)變量 /靜態(tài)方法,如: ? 。 ? ()。 ? 如果在聲明時(shí)不用 static 關(guān)鍵字修飾,則為實(shí)例變量和實(shí)例方法。 Java EE基礎(chǔ)教程 3 2021年 11月 10日星期三 ?一個(gè)類通過(guò)使用 new運(yùn)算符可以創(chuàng)建多個(gè)不同的對(duì)象,這些對(duì)象將被分配不同的內(nèi)存空間,準(zhǔn)確地說(shuō)就是不同的對(duì)象的實(shí)例變量將被分配不同的內(nèi)存空間,如果類中的成員變量有類變量,那么所有的對(duì)象的這個(gè)類變量都分配給相同的一處內(nèi)存。也就是說(shuō)對(duì)象共享類變量,改變其中一個(gè)對(duì)象的這個(gè)類變量會(huì)影響其它對(duì)象的這個(gè)類變量。 ?靜態(tài)變量可以通過(guò)類名直接訪問(wèn),也可以通過(guò)對(duì)象來(lái)調(diào)用。采用這兩種方法取得的結(jié)果是相同的。如果是 public靜態(tài)變量,則其它類可以不通過(guò)實(shí)例化訪問(wèn)它們。 ?類方法不能訪問(wèn)實(shí)例變量,只能訪問(wèn)類變量。類方法可以由類名直接調(diào)用,也可由實(shí)例對(duì)象進(jìn)行調(diào)用。類方法中不能使用 this或 super關(guān)鍵字。 Java EE基礎(chǔ)教程 4 2021年 11月 10日星期三 ?對(duì)于實(shí)例變量必須先生成實(shí)例對(duì)象,通過(guò)該對(duì)象訪問(wèn)實(shí)例變量。實(shí)例方法可以對(duì)當(dāng)前對(duì)象的實(shí)例變量進(jìn)行操作,也可以對(duì)類變量進(jìn)行操作,實(shí)例方法由實(shí)例對(duì)象調(diào)用。 下面的代碼及圖 。 class ABCD { char data。 static int st_data。 } class Demo { ABCD a,b,c,d } Java EE基礎(chǔ)教程 5 2021年 11月 10日星期三 例 51 關(guān)于實(shí)例成員和類成員的例子。 程序清單: ch05\ package ch05。 class Member { static int classVar。 int instanceVar。 static void setClassVar(int i) { classVar=i。 // instanceVar=i。 // 類方法不能訪問(wèn)實(shí)例變量 } static int getClassVar(){ Java EE基礎(chǔ)教程 6 2021年 11月 10日星期三 return classVar。 } void setInstanceVar(int i){ classVar=i。 //實(shí)例方法不但可以訪問(wèn)類變量,也可以實(shí)例變量 instanceVar=i。 } int getInstanceVar( ) { return instanceVar。 } } Java EE基礎(chǔ)教程 7 2021年 11月 10日星期三 public class MemberTest{ public static void main(String[] args) { Member m1=new Member()。 Member m2=new Member()。 (1)。 (2)。 (=+()+ =+())。 (11)。 (22)。 (=+()+ =+())。 } } Java EE基礎(chǔ)教程 8 2021年 11月 10日星期三 ?分析一個(gè)不正確的變量引用實(shí)例 : class StaticError{ String mystring=“hello”。 //實(shí)例變量 public static void main(String[] args) { (mystring)。 //靜態(tài)方法訪問(wèn)實(shí)例變量出錯(cuò) } } ?錯(cuò)誤信息: can’t make a static reference to nonstatic variable。因?yàn)橹挥袑?duì)象的方法可以訪問(wèn)對(duì)象的變量。 Java EE基礎(chǔ)教程 9 2021年 11月 10日星期三 ? 解決的辦法: 1. 將實(shí)例變量 mystring改為類變量: class StaticError{ static String mystring=“hello”。 public static void main(String[] args) { (mystring)。 } } ? 2.將實(shí)例變量 mystring改為局部變量: class NoStaticError{ public static void main(String[] args) { String mystring=“hello”。 (mystring)。 } } 返回 Java EE基礎(chǔ)教程 10 2021年 11月 10日星期三 例 52 下面例子中的梯形對(duì)象共享一個(gè) static的下底。 程序清單: ch05\ package ch05。 class 梯形 { float 上底 ,高 。 //實(shí)例變量 static float 下底 。 //實(shí)例變量 梯形 (float x,float y,float h) { //構(gòu)造方法 上底 =x。 下底 =y。 高 =h。 } float 獲取下底 () { return 下底 。 } void 修改下底 (float b) { 下底 =b。 } } Java EE基礎(chǔ)教程 11 2021年 11月 10日星期三 public class CommonLader{ public static void main(String[] args){ 梯形 laderOne=new 梯形 (,20)。 梯形 laderTwo=new 梯形 (,10)。 (laderOne的下底 :+ ())。 (laderTwo的下底 :+ ())。 (60)。 (laderOne的下底 :+ ())。 (laderTwo的下底 :+ ())。 } } Java EE基礎(chǔ)教程 12 2021年 11月 10日星期三 ?當(dāng) Java程序執(zhí)行時(shí),類的字節(jié)碼文件被加載到內(nèi)存,如果該類沒(méi)有創(chuàng)建對(duì)象,類的實(shí)例成員變量不會(huì)被分配內(nèi)存。但是,類中的類變量,在該類被加載到內(nèi)存時(shí),就分配了相應(yīng)的內(nèi)存空間。如果該類創(chuàng)建對(duì)象,那么不同對(duì)象的實(shí)例變量互不相同,即分配不同的內(nèi)存空間,而類變量不再重新分配內(nèi)存,所有的對(duì)象共享類變量,即所有的對(duì)象的類變量是相同的一處內(nèi)存空間,類變量的內(nèi)存空間直到程序退出運(yùn)行,才釋放所占有的內(nèi)存。 Java EE基礎(chǔ)教程 13 2021年 11月 10日星期三 ? 實(shí)例方法和類方法的區(qū)別: ? 對(duì)于類中的類方法,在該類被加載到內(nèi)存時(shí),就分配了相應(yīng)的入口地址。從而類方法不僅可以被類創(chuàng)建的任何對(duì)象調(diào)用執(zhí)行,也可以直接通過(guò)類名調(diào)用。類方法的入口地址直到程序退出才被取消。 ? 當(dāng)類的字節(jié)碼文件被加載到內(nèi)存時(shí),類的實(shí)例方法不會(huì)被分配入口地址。當(dāng)該類創(chuàng)建對(duì)象后,類中的實(shí)例方法才分配入口地址,從而實(shí)例方法可以被類創(chuàng)建的任何對(duì)象調(diào)用執(zhí)行。需要注意的是,當(dāng)創(chuàng)建第一個(gè)對(duì)象時(shí),類中的實(shí)例方法就分配了入口地址,當(dāng)再創(chuàng)建對(duì)象時(shí),不再分配入口地址,也就是說(shuō),方法的入口地址被所有的對(duì)象共享,當(dāng)所有的對(duì)象都不存在時(shí),方法的入口地址才被取消。 ? 無(wú)論是類方法或?qū)嵗椒?,?dāng)被調(diào)用執(zhí)行時(shí),方法中的局部變量才被分配內(nèi)存空間,方法調(diào)用完畢,局部變量即刻釋放所占的內(nèi)存。在一個(gè)方法被調(diào)用執(zhí)行完畢之前,如果該方法又被調(diào)用,那么,方法的局部變量會(huì)再次被分配新的內(nèi)存空間,比如,方法在遞歸調(diào)用時(shí),方法中的局部變量會(huì)再次被分配新的內(nèi)存空間 。 Java EE基礎(chǔ)教程 14 2021年 11月 10日星期三 ?this關(guān)鍵字可以出現(xiàn)在類的實(shí)例方法中,代表使用該方法的當(dāng)前對(duì)象。 ?為了說(shuō)明 this的用法,下面例子中的“三角形”的構(gòu)造方法中,有意使用了 this。當(dāng)使用構(gòu)造方法來(lái)創(chuàng)建對(duì)象時(shí),構(gòu)造方法中的this就代表當(dāng)前對(duì)象。 this 關(guān)鍵字 Java EE基礎(chǔ)教程 15 2021年 11月 10
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1