




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第三章 面向?qū)ο蠡A(chǔ)第三章 面向?qū)ο蠡A(chǔ)目標(biāo): 介紹面向?qū)ο缶幊痰幕舅枷?,通過本課的學(xué)習(xí),應(yīng)該掌握如下知識:1)理解什么是類、對象、構(gòu)造方法,2)對象在內(nèi)存中的表現(xiàn)形式及如何使用對象等。3)Java的垃圾回收機(jī)制及訪問修飾符。目標(biāo):本章要點(diǎn)類和對象的關(guān)系面向?qū)ο蟮乃枷胱宇悓?shí)例化的過程對象的創(chuàng)建構(gòu)造方法變量的初始化順序?qū)ο髣?chuàng)建的內(nèi)存模型垃圾回收機(jī)制Java中的關(guān)鍵字this關(guān)鍵字static關(guān)鍵字本章要點(diǎn)類和對象的關(guān)系主要內(nèi)容類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型3Java中的關(guān)鍵字4主要內(nèi)容類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型3Jav類和對象的關(guān)系面向?qū)ο蟮乃枷耄?Object
2、 Oriented Programming,簡稱OOP)面向?qū)ο蟮幕舅枷胧?,從現(xiàn)實(shí)世界中客觀存在的事物出發(fā)來構(gòu)造軟件系統(tǒng),并在系統(tǒng)的構(gòu)造中盡可能運(yùn)用人類的自然思維方式面向?qū)ο蟾訌?qiáng)調(diào)運(yùn)用人類在日常的思維邏輯中經(jīng)常采用的思維方法與原則面向?qū)ο蟮娜齻€(gè)特征封裝繼承多態(tài)類和對象的關(guān)系面向?qū)ο蟮乃枷耄?Object Oriente類和對象的關(guān)系面向?qū)ο笈c面向過程public class Icebox static void putThings(String things) System.out.println(把冰箱門打開); System.out.println(把+things+放進(jìn)來); Sys
3、tem.out.println(把冰箱門關(guān)上); void OpenIcebox() printf(“把冰箱門打開n);void PutElephantI() printf(“把大象放冰箱n);void CloseIcebox() printf(“把冰箱們關(guān)上n);int main() OpenIcebox(); PutElephantIn(); CloseIcebox();public class Mine public static void main(String args ) Icebox.putThings(大象); 面向?qū)ο竺嫦蜻^程類和對象的關(guān)系面向?qū)ο笈c面向過程public cl
4、ass I類和對象的關(guān)系類的定義把相似的對象劃歸成一個(gè)類。在軟件設(shè)計(jì)中,類,就是一個(gè)模板,它定義了通用于一個(gè)特定種類的所有對象的屬性(變量)和行為(方法)。類和對象的關(guān)系類的定義類和對象的關(guān)系類的定義 ?西游記游戲軟件中的游戲人物孫悟空:孫悟空的武器是金箍棒,戰(zhàn)斗力五顆星,耐力五顆星唐 僧:唐僧沒有武器,戰(zhàn)斗力為零,耐力五顆星豬八戒:豬八戒的武器是耙子,戰(zhàn)斗力四顆星,耐力兩顆星沙 僧:沙僧的武器是月牙鏟 ,戰(zhàn)斗力三顆星,耐力四顆星類和對象的關(guān)系類的定義類和對象的關(guān)系類的定義修飾符一般為public,也可以沒有修飾符。注意類名的命名規(guī)范。類名一般大寫類的成員:成員變量(屬性)成員函數(shù)(方法)通過
5、“.”調(diào)用屬性和方法訪問權(quán)限控制符 class 類名 類的成員 類和對象的關(guān)系類的定義類的完全聲明形式public abstract | final class 類名稱 extends 父類名稱 implements 接口名稱列表 變量成員聲明及初始化; 方法聲明及方法體;類的完全聲明形式變量聲明格式public | protected | private static finaltransient volatile變量數(shù)據(jù)類型 變量名1=變量初值, 變量名2=變量初值, ;格式說明public、protected、private 為訪問控制符static指明這是一個(gè)靜態(tài)成員變量final指明
6、變量的值不能被修改transient指明變量是臨時(shí)狀態(tài)volatile指明變量是一個(gè)共享變量變量聲明格式類的方法聲明格式:public|protected|privatestaticfinalabstractnativesynchronized 返回類型 方法名(參數(shù)列表) throws exceptionList 方法體; 類的方法聲明格式:格式說明方法修飾public、protected、private 為存取控制符static指明方法是一個(gè)類方法final指明方法是一個(gè)終結(jié)方法abstract指明方法是一個(gè)抽象方法native用來集成java代碼和其它語言的代碼synchronized用
7、來控制多個(gè)并發(fā)線程對共享數(shù)據(jù)的訪問格式說明方法調(diào)用給對象發(fā)消息意味著調(diào)用對象的某個(gè)方法從對象中取得信息 修改對象的狀態(tài)或進(jìn)行某種操作 進(jìn)行計(jì)算及取得結(jié)果等調(diào)用格式.(參數(shù)列表)稱點(diǎn)操作符“.”前面的為消息的接收者(receiver)參數(shù)傳遞值傳遞:參數(shù)類型為基本數(shù)據(jù)類型時(shí)引用傳遞:參數(shù)類型為對象類型或數(shù)組時(shí)方法調(diào)用訪問修飾符該類或非該類均可訪問public只有該類可以訪問private相同數(shù)據(jù)包中的類可以訪問default該類及其子類的成員可以訪問,同一個(gè)包中的類也可訪問protected訪問修飾符該類或非該類均可訪問public只有該類可以訪問p訪問修飾符訪問修飾符可訪問性位置private
8、默認(rèn)protectedpublic同一個(gè)類是是是是同一個(gè)包內(nèi)的類否是是是不同包內(nèi)的子類否否是是不同包并且不是子類否否否是訪問修飾符訪問修飾符可訪問性位置private默認(rèn)prote類和對象的關(guān)系類的定義Employee.javaclass Employee String name; int age; double salary; public String showName() System.out.println(name); return name; public int showAge() System.out.println(age); return age; public void
9、updateName(String name2) name = name2; public void getSalary() System.out.println(The salary of this month is 2000); 屬性方法類和對象的關(guān)系類的定義class Employee 屬性方類和對象的關(guān)系類的定義 練習(xí) Person.java定義一個(gè)Person類,Person類具有名字、年齡及性別等屬性,并具有一個(gè)getInfo( )方法可以打印出Person類的屬性, sayHello()方法和大家說“Hello everybody!”類和對象的關(guān)系類的定義類和對象的關(guān)系類的定義
10、練習(xí) Point.java 定義一個(gè)點(diǎn)類Point,包含兩個(gè)成員變量x、y分別表示x和y的坐標(biāo),一個(gè)movePoint(int dx,int dy)方法實(shí)現(xiàn)點(diǎn)的位置的移動(dòng)。public class Pointint x,y;void movePoint(int dx,int dy)x=dx; y=dy;類和對象的關(guān)系類的定義類和對象的關(guān)系類的定義 練習(xí) MyDate.java 定義一個(gè)點(diǎn)日期MyDate,包含三個(gè)成員變量year 、month、day分別表示年、月、日,以及每個(gè)屬性對應(yīng)的get和set方法(如,year有g(shù)etYear( )方法用來獲得日期的年份,還有setYear(int y
11、)方法用來修改或設(shè)置日期的年份),最后還有printDate()方法,調(diào)用該方法可以把日期按照“yyyy-mm-dd”的形式輸出。類和對象的關(guān)系類的定義類和對象的關(guān)系類和對象的關(guān)系類(class) 是對某一類事物的描述對象(object) 是實(shí)際存在的某類事物的個(gè)體, 也稱為實(shí)例(instance)類是創(chuàng)建對象的模板,對象是類的實(shí)例。類和對象的關(guān)系類和對象的關(guān)系類和對象的關(guān)系對象的創(chuàng)建語法格式示例 TestEmployee.java類名 對象名 = new 構(gòu)造函數(shù)Employee zhang = new Employee( )類和對象的關(guān)系對象的創(chuàng)建類名 對象名 = new 構(gòu)類和對象的關(guān)系
12、對象的創(chuàng)建 練習(xí) TestPerson.java在TestPerson類里寫一個(gè)main方法,在main( )方法中: 創(chuàng)建一個(gè)Person類的對象這個(gè)對象的名字叫小沈陽,年齡28,性別男在控制臺中打印這個(gè)實(shí)例的信息并調(diào)用這個(gè)對象的sayHello( )方法,向大家問好類和對象的關(guān)系對象的創(chuàng)建類和對象的關(guān)系對象的創(chuàng)建 練習(xí) TestPoint.java在TestPoint類里寫一個(gè)main方法,在main( )方法中: 創(chuàng)建一個(gè)Point類的對象 這個(gè)點(diǎn)的坐標(biāo)是(3,2) 將這個(gè)點(diǎn)移動(dòng)到坐標(biāo)為(5,6)的位置并把移動(dòng)后的點(diǎn)的坐標(biāo)按“(x,y)”形式打印在控制臺上類和對象的關(guān)系對象的創(chuàng)建類和對象
13、的關(guān)系對象的創(chuàng)建 練習(xí) TestDate.java在TestDate類里寫一個(gè)main方法,在main( )方法中: 創(chuàng)建一個(gè)MyDate類的對象 通過setXXX方法將該日期對象的時(shí)間設(shè)置為“2013年10月8日” 在控制臺上打印該對象的月份 把該日期對象按“2013-10-8”的格式輸出類和對象的關(guān)系對象的創(chuàng)建類和對象的關(guān)系匿名對象創(chuàng)建完對象,在調(diào)用該對象的方法時(shí),也可以不定義對象的句柄,而直接調(diào)用這個(gè)對象的方法。這樣的對象叫匿名對象使用匿名對象的情況如果對一個(gè)對象只需要進(jìn)行一次方法調(diào)用new Person().sayHello()Person p1 = new Person();p1.s
14、ayHello();類和對象的關(guān)系匿名對象new Person().sayHelContents類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型3Java中的關(guān)鍵字4Contents類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型構(gòu)造方法構(gòu)造方法(構(gòu)造函數(shù)/構(gòu)造器,Constructor)具有與類相同的名稱不含返回值類型不能在方法中用return語句返回一個(gè)值一般訪問權(quán)限為public 在一個(gè)類中,具有上述特征的方法就是構(gòu)造方法。構(gòu)造方法的作用完成對象的創(chuàng)建,即完成對象的實(shí)例化一般使用構(gòu)造方法來完成對成員變量的初始化 示例 TestPerson.java構(gòu)造方法構(gòu)造方法(構(gòu)造函數(shù)/構(gòu)造器,Constr
15、uctor)構(gòu)造方法默認(rèn)的構(gòu)造方法在Java中,每個(gè)類都至少要有一個(gè)構(gòu)造方法,如果程序員沒有在類里定義構(gòu)造方法,系統(tǒng)會自動(dòng)為這個(gè)類產(chǎn)生一個(gè)默認(rèn)的構(gòu)造方法一旦編程者為該類定義了構(gòu)造方法,系統(tǒng)就不再提供默認(rèn)的構(gòu)造方法class Employee public Employee( ) class Employee構(gòu)造方法默認(rèn)的構(gòu)造方法class Employee構(gòu)造方法 練習(xí) 下列關(guān)于類的定義的選項(xiàng)中,哪些可以通過new Thing()方法來創(chuàng)建該類的一個(gè)對象_? A. public class Thing B. public class Thing public Thing() C. public
16、 class Thing D. public class Thing public Thing(void) public Thing(String s) E. public class Thing public void Thing() public Thing(String s) 答案:A、B構(gòu)造方法 練習(xí) 答案:A、B構(gòu)造方法 練習(xí) 給定下列代碼的執(zhí)行結(jié)果是_? public class A void A() System.out.println(“Class A”); public static void main(String args) new A(); A. Class A B.
17、在第2行處拋出異常 C. 編譯錯(cuò)誤 D. 在第6行處拋出異常 E. 代碼執(zhí)行后沒有輸出答案:E構(gòu)造方法 練習(xí) 答案:E構(gòu)造方法類和對象的關(guān)系 練習(xí) XiyoujiRole.java構(gòu)造一個(gè)完整的西游記人物類,并定義一個(gè)構(gòu)造方法,通過這個(gè)方法可以創(chuàng)建不同的西游記人物,并寫一個(gè)main函數(shù)進(jìn)行驗(yàn)證。 孫悟空:孫悟空的武器是金箍棒,戰(zhàn)斗力五顆星,耐力五顆星唐 僧:唐僧沒有武器,戰(zhàn)斗力為零,耐力五顆星豬八戒:豬八戒的武器是耙子,戰(zhàn)斗力四顆星,耐力兩顆星沙 僧:沙僧的武器是月牙鏟 ,戰(zhàn)斗力三顆星,耐力四顆星構(gòu)造方法類和對象的關(guān)系 方法的重載方法的重載(overload)函數(shù)的重載就是在同一個(gè)類中允許同時(shí)
18、存在一個(gè)以上同名的函數(shù)方法重載的規(guī)則函數(shù)名稱相同函數(shù)的參數(shù)必須不同參數(shù)個(gè)數(shù)不同 或參數(shù)類型不同函數(shù)的返回值類型可以相同,也可以不同方法的重載方法的重載(overload)方法的重載方法的重載(overload)方法的重載方法的重載(overload)方法的重載 練習(xí) 下列選項(xiàng)中,哪些可以與void setAge(int year,int month,int day)方法在同一個(gè)類中定義_? A. public void setAge() B. void setAge(int age) C. void setAge(int y,int m,int d) D. int setAge(Date d)
19、 E. int setAge(int year,int month,int day) F. void setage(int year,int month,int dat)答案:ABDF方法的重載 練習(xí) 答案:ABDF方法的重載 練習(xí) Person.java在上一個(gè)Person類的基礎(chǔ)上,完成以下功能:聲明一個(gè)有參的構(gòu)造方法,使得通過調(diào)用該構(gòu)造方法可以對Person類的三個(gè)成員變量進(jìn)行初始化再聲明一個(gè)無參的構(gòu)造方法,實(shí)現(xiàn)構(gòu)造方法的重載方法的重載 練習(xí) Person.java方法的重載 練習(xí) MethodAdd.java在類MethodAdd中,聲明三個(gè)方法add,分別計(jì)算兩個(gè)整數(shù)的和三個(gè)整數(shù)的和
20、、兩個(gè)雙精度浮點(diǎn)數(shù)(double)數(shù)的和,并在該類寫一個(gè)主程序中調(diào)用這個(gè)三個(gè)函數(shù), 并將其結(jié)果打印方法的重載 練習(xí) MethodAdd.javaContents類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型3Java中的關(guān)鍵字4Contents類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型對象創(chuàng)建的內(nèi)存模型引用類型變量除了8種基本數(shù)據(jù)類型的變量,其他變量都是引用類型變量類(class) 接口(interface) 數(shù)組Person p ;Animal a ;int c ;對象創(chuàng)建的內(nèi)存模型引用類型變量Person p ;Anim對象創(chuàng)建的內(nèi)存模型0 x80001.7444“l(fā)isi”Person
21、p0 x8000nameageheightPerson p = new Person( “l(fā)isi”, 44, 1.74); 引用類型變量的內(nèi)存模型對象創(chuàng)建的內(nèi)存模型0 x80001.7444“l(fā)isi”Per對象創(chuàng)建的內(nèi)存模型0 x80000 x30001.7444“l(fā)isi”Person p0 x3000nameageheight1.7333“zhang”nameageheightPerson q0 x8000引用類型變量的內(nèi)存模型Person p = new Person( “zhang”, 33,1.73);Person q = new Person( “l(fā)isi”, 44, 1.74
22、);對象創(chuàng)建的內(nèi)存模型0 x80000 x30001.7444“變量的作用域變量的作用域全局變量類體中聲明的成員變量為全局變量全局變量在類的整個(gè)生命周期中都有效局部變量方法體中聲明的變量,方法中的參數(shù),或代碼塊中聲明的變量,都是局部變量局部變量只在方法調(diào)用的過程中有效,方法調(diào)用結(jié)束后失效變量的作用域變量的作用域變量的作用域變量的作用域class Employee String name; int age; double salary; public String showName() String hello = “你好”; System.out.println(hello+name); re
23、turn name; public void updateName(String name2) name = name2; 全局變量局部變量變量的作用域變量的作用域class Employee 全局變量的作用域變量初始化的順序隱式賦予變量默認(rèn)值成員變量顯式賦予初始值通過構(gòu)造方法體賦予新值 示例 PersianCat.java各類型變量默認(rèn)初始化值類型缺省值類型缺省值byte(byte)0charu0000 short(short)0float0.0Fint0double0.0Dlong0L引用對象nullbooleanfalse變量的作用域變量初始化的順序各類型變量默認(rèn)初始化值類型缺省值變量的
24、作用域 練習(xí) 給定下列代碼的執(zhí)行結(jié)果是_? public class X ( private static int a; public static void main(String args) modify(a); System.out.println(a); public static void modify(int a) a+; A. 0 B. 1 C. 編譯錯(cuò)誤 D. 運(yùn)行時(shí)異常答案:A變量的作用域 練習(xí) 答案:A程序執(zhí)行過程 硬盤 程序 .java 編譯 .class 文件內(nèi)存 執(zhí)行過程中的內(nèi)存管理代碼JVM系統(tǒng)代碼 裝載到內(nèi)存區(qū)stackheapdata segmentcodese
25、gment 找到main方法開始執(zhí)行基本數(shù)據(jù)類型變量引用類型變量地址引用變量靜態(tài)變量常量存放代碼Java代碼在系統(tǒng)中的執(zhí)行過程程序執(zhí)行過程 補(bǔ)充:參數(shù)傳值當(dāng)方法被調(diào)用時(shí),如果方法有參數(shù),參數(shù)必須要實(shí)例化,即參數(shù)變量必須有具體的值。public class Date /類聲明 int year,month,day; /成員變量,表示年、月、日 void setDate(int y,int m,int d) /成員方法,設(shè)置日期值 /無返回值,有4個(gè)參數(shù) year = y; month = m; day = d; public static void main(String args) Date1
26、 aday = new Date1() ; /創(chuàng)建對象 aday.setDate(2013,9,28); /調(diào)用類方法 補(bǔ)充:參數(shù)傳值當(dāng)方法被調(diào)用時(shí),如果方法有參數(shù),參數(shù)必須要實(shí)例1基本數(shù)據(jù)類型參數(shù)的傳值值這種數(shù)據(jù)傳遞方式被稱為是值傳遞,方法接收參數(shù)的值,但不能改變這些參數(shù)的值。2引用類型參數(shù)的傳值地址引用傳值方式:Java的引用類型數(shù)據(jù)包括對象、數(shù)組和接口,當(dāng)方法中參數(shù)是引用類型時(shí),引用數(shù)據(jù)類型傳遞給方法的是數(shù)據(jù)在內(nèi)存中的地址,方法中對參數(shù)變量的操作可以改變原變量的值。 1基本數(shù)據(jù)類型參數(shù)的傳值值這種數(shù)據(jù)傳遞方式被稱為是值傳class People String face;void setF
27、ace(String s) face = s;class C void f(int x, double y, People p) x = x + 1;y = y + 1;p.setFace(笑臉);System.out.println(參數(shù)x和y的值分別是: + x + , + y);System.out.println(參數(shù)對象p的face是: + p.face);public class Ep4_8 public static void main(String args) int m = 100;double n = 100.88;People zhang = new People();z
28、hang.setFace(很嚴(yán)肅的樣子);C a = new C();a.f(m, n, zhang);System.out.println(main方法中m和n的值仍然分別是: + m + , + n);System.out.println(main方法中對象zhang的face是: + zhang.face);zhang.face= 很嚴(yán)肅的樣子;改變形參值 導(dǎo)致實(shí)參值的改變zhang.face= “笑臉;參數(shù)x和y的值分別是:101,101.88參數(shù)對象p的face是:笑臉main方法中m和n的值仍然分別是:100,100.88main方法中對象zhang的face是:笑臉class P
29、eople zhang.face= 很嚴(yán)肅補(bǔ)充內(nèi)容對象數(shù)組在Java中不但可以聲明由原始數(shù)據(jù)組成的數(shù)組,還可以聲明由對象組成的數(shù)組;聲明對象數(shù)組的方式如:/假設(shè)已經(jīng)定義了一個(gè)Student類/*聲明由5個(gè)Student對象組成的數(shù)組*/Student stdAry = new Student5;補(bǔ)充內(nèi)容對象數(shù)組在Java中不但可以聲明由原始數(shù)據(jù)組成的對象數(shù)組=引用數(shù)組錯(cuò)誤的理解方式學(xué)生對象的實(shí)例學(xué)生對象的實(shí)例學(xué)生對象的實(shí)例學(xué)生對象的實(shí)例學(xué)生對象的實(shí)例01244堆棧stdAry堆棧stdAry正確的理解方式對象的引用01244對象的引用對象的引用對象的引用對象的引用對象數(shù)組=引用數(shù)組錯(cuò)誤的理解方
30、式學(xué)生對象的實(shí)例學(xué)生對象的實(shí)對象數(shù)組示例/*對象數(shù)組示例,假設(shè)已經(jīng)定義了Student類*/public static void main(String args) /*創(chuàng)建包含有5個(gè)Student引用的數(shù)組*/ Student stdAry = new Student5; /*逐一為每個(gè)引用創(chuàng)建對象實(shí)例*/ stdAry0 = new Student(張三, 18); stdAry1 = new Student(李四, 20); stdAry2 = new Student(王五, 24); stdAry4 = new Student(鄭六, 21); stdAry4 = new Studen
31、t(田七, 19); for (int i = 0; i stdAry.length; i+) stdAryi.display(); 對象數(shù)組示例/*對象數(shù)組示例,假設(shè)已經(jīng)定義了Student類對象數(shù)組的存放形式堆棧stdAry0124stdAry0stdAry1stdAry2stdAry4stdAry44張三18李四20王五24鄭六21田七19對象數(shù)組的存放形式堆棧stdAry0124stdAry0垃圾回收機(jī)制垃圾回收器(GC, Garbage Collection)Java的一個(gè)重要特點(diǎn)句是具有一個(gè)垃圾回收器,并且能夠自動(dòng)回收垃圾,這也是Java相對于其他語言有優(yōu)勢的地方對內(nèi)存的釋放和回收
32、的工作是由Java運(yùn)行系統(tǒng)(JRE)承擔(dān)的,不用編程者關(guān)注在Java程序運(yùn)行過程中,一個(gè)垃圾回收器會不定時(shí)地被喚起檢查是否有不再被使用的對象,并釋放它們所占用的內(nèi)存空間垃圾回收器的啟用不由程序員控制,也無規(guī)律可循垃圾回收機(jī)制垃圾回收器(GC, Garbage Collec垃圾回收機(jī)制垃圾回收機(jī)制 System.gc( )、nullJava里提供了一個(gè)System.gc( )方法,使用這個(gè)方法可以建議垃圾回收器回收垃圾在Java中,可以通過將對象的引用變量設(shè)置為null,來暗示垃圾回收器來回收該對象class Employee String name; int age; double salar
33、y;public static void main(String args) Employee e = new Employee(); new Employee(); e = null; System.gc(); System.out.println(“The program is end”); 垃圾回收機(jī)制垃圾回收機(jī)制 System.gc( )、nu垃圾回收機(jī)制后臺線程主線程Object o2 = new Object( );o2 = null;Object o1 = new Object( );o1 objectThe heap檢查出對象沒有引用指向調(diào)用o2對象的finalize()方法垃
34、圾回收機(jī)制回收分配給該對象的內(nèi)存垃圾回收采用Java多線程機(jī)制o2 object 垃圾回收機(jī)制垃圾回收機(jī)制后臺線程主線程Object o2 = new O垃圾回收機(jī)制 練習(xí) 什么時(shí)候程序會銷毀一個(gè)對象x_? A. x.delete() B. x.finalize() C. System.gc() D. 設(shè)置對象的引用為null F. 只有垃圾回收器才可以銷毀一個(gè)對象答案:F垃圾回收機(jī)制 練習(xí) 答案:FContents類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型3Java中的關(guān)鍵字4Contents類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型Java中的關(guān)鍵字this關(guān)鍵字代表對象自身的引用一個(gè)引用指向調(diào)用該方法的當(dāng)前對象通常在類的方法定義中使用用this關(guān)鍵字的情況方法中的變量與成員變量重名在一個(gè)構(gòu)造方法中,調(diào)用其它重載的構(gòu)造方法返回當(dāng)前對象的引用 Java中的關(guān)鍵字this關(guān)鍵字成員變量和局部變量public class Employee int sideA, sideB, sideC;void setSide(int sideA, int sideB, int sideC) this.sideA = sideA;this.sideB = sideB;this.sideC = sideC;注:如果局部變量的名字與成員變量的名字相同,則成員變量
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件正版管理制度建設(shè)
- 銷售企業(yè)公司管理制度
- 預(yù)算成本控制管理制度
- 進(jìn)度控制計(jì)劃管理制度
- 酒店蔬菜儲備管理制度
- 部門助理聘用管理制度
- 音樂收藏管理制度規(guī)范
- 酒店吧臺衛(wèi)生管理制度
- 車棚充電管理管理制度
- 西南大學(xué)維修管理制度
- GB/T 44114-2024電化學(xué)儲能系統(tǒng)接入低壓配電網(wǎng)運(yùn)行控制規(guī)范
- 北京海淀區(qū)-第2學(xué)期高二數(shù)學(xué)教概率統(tǒng)計(jì)教材分析-(64)課件
- 2024江蘇省常熟市總工會招聘合同制人員7人公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 2024年連云港專業(yè)技術(shù)人員繼續(xù)教育《飲食、運(yùn)動(dòng)和健康的關(guān)系》92分(試卷)
- 消防設(shè)施維保服務(wù)投標(biāo)方案(技術(shù)方案)
- 《陸上風(fēng)電場工程施工安裝技術(shù)規(guī)程》(NB/T 10087-2018 )
- 大班科學(xué)五彩的燈課件
- 2024圖解數(shù)據(jù)分類分級規(guī)則
- 對公賬戶注銷委托書
- 新能源汽車維修完全自學(xué)手冊
- 初中英語名詞匯總
評論
0/150
提交評論