版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
用類表示學(xué)生成績信息JAVA程序設(shè)計任務(wù)分析用數(shù)組存儲學(xué)生信息時,若每個學(xué)生有各種類型的信息需要保存,單純用一維或二維數(shù)組很難表示出來,此時,可以使用對象數(shù)組。相關(guān)知識與技術(shù)5.1類的定義5.1類的定義一、類和對象的關(guān)系類是一種復(fù)雜的數(shù)據(jù)類型,它是將數(shù)據(jù)和與數(shù)據(jù)相關(guān)的操作封裝在一起的集合體。對象是類的實例。如:把“人”看成是一個抽象的類,每一個具體的人就是“人”類中的一個實例,即一個對象。每個人的姓名、年齡、身高、體重等特征可作為“人”類中的數(shù)據(jù),吃飯、走路、工作等行為作為“人”類中的方法。對象與類的關(guān)系就像變量與類型的關(guān)系一樣。5.1類的定義二、類的定義格式1)類的定義格式<類聲明>
{
<類主體>
}格式:類聲明和類主體。分兩部分:5.1類的定義二、類的定義格式1)類的定義格式[<修飾符>]class<類名>稱[extends<超類>][<implements<接口名>]類聲明中包括關(guān)鍵字class,類名及類的屬性。格式為:5.1類的定義二、類的定義格式1)類的定義格式類名不能是Java中的關(guān)鍵字,要符合標(biāo)識符的規(guī)定動作。若類名使用英文字母,習(xí)慣上,類名的第一個字母是大寫的。如People。類名最好容易識別,當(dāng)類名由幾個單詞構(gòu)成,習(xí)慣上,每個單詞的第一個字母用大寫。如BeijingTime,HelloChina。注意:5.1類的定義二、類的定義格式1)類的定義格式一部分是變量的定義,用來刻畫屬性;另一部分是方法的定義,用來刻畫行為。類主體用一對大括號括起來,其中有兩部分內(nèi)容構(gòu)成:5.1類的定義二、類的定義格式1)類的定義格式類主體用一對大括號括起來,其中有兩部分內(nèi)容構(gòu)成:例:一個“人”類的定義classPeople
{
Stringname;
intage;
doubleheight;
doubleweight;
voidprint()
{
System.out.println("身高:"+height);
}
}5.1類的定義二、類的定義格式2)變量的定義格式Stringname;
intage;例:[<修飾符>]<變量類型><變量名>Java類的狀態(tài)用成員變量來表示。格式如下:5.1類的定義二、類的定義格式intadd(inta,intb)
{intc=a+b;
returnc;
}例:[<修飾符>]<返回值類型><方法名>([參數(shù)列表])[throws<異常類>]
{
<方法體>
}Java類的行為由它的方法實現(xiàn)。格式如下:3)方法的定義格式5.1類的定義三、變量Java中的變量按其定義的位置不同,分為兩種:成員變量局部變量5.1類的定義三、變量在類體的變量定義部分所定義的變量稱為成員變量局部變量在方法體中定義的變量和方法的參數(shù)稱為5.1類的定義三、變量成員變量和局部變量可以是Java中的任何一種數(shù)據(jù)類型。若成員變量不賦初值,數(shù)值型則為0或0.0,字符型則為,布爾型則為false,對象則為null。變量名必須符合標(biāo)識符的命名規(guī)則,習(xí)慣上,如果使用英文字母,則第一個字母使用小寫;如果由多個單詞組成,則從第二個單詞開始的其他單詞的第一個字母使用大寫。成員變量在整個類的范圍內(nèi)都有效,而局部變量只在定義它的方法內(nèi)有效。說明5.1類的定義三、變量如果局部變量的名字與成員變量的名字相同,則成員變量被隱藏,即這個成員變量在這個方法內(nèi)暫時效。若想在方法內(nèi)使用和局部變量同名的成員變量,必須使用關(guān)鍵字this。成員變量又分為實例變量和類變量(也稱靜態(tài)變量)。說明5.1類的定義四、方法方法的定義格式:[<修飾符>]<返回值類型><方法名>([參數(shù)列表])[throws<異常類>]
{
<方法體>
}5.1類的定義四、方法例如:intadd(inta,intb)
{intc=a+b;
returnc;
}5.1類的定義四、方法返回值類型可以是任意的Java數(shù)據(jù)類型,當(dāng)一個方法不需要返回數(shù)據(jù)時,方法的類型必須是void。方法的參數(shù)是用逗號隔開的一些變量聲明,可以是任意的Java數(shù)據(jù)類型。方法的名字必須符合標(biāo)識符的規(guī)定,習(xí)慣上,如果名字使用英文字母,第一個字母是要使用小寫。如果由多個單詞構(gòu)成,則從第2個單詞開始的其他單詞的第1個字母使用大寫。說明如:floatgetTrangleArea()
voidsetName(Stringname)5.1類的定義四、方法方法體的內(nèi)容包括局部變量的定義和合法的Java語句。方法的參數(shù)在整個方法內(nèi)有效,方法內(nèi)定義的局部變量從它定義的位置之后開始有效。如果局部變量的定義是在一個復(fù)合語句中,那么該局部變量的有效范圍是該復(fù)合語句,即僅在該復(fù)合語句中有效,如果局部變量的定義是在一個循環(huán)語句中,那么該局部變量的有效范圍是該循環(huán)語句,即僅在該循環(huán)語句中有效。說明5.1類的定義五、方法的重載方法重載是多態(tài)性的一種。方法重載就是一個類中可以有多個方法具有相同的名字,但這些方法的參數(shù)必須不同,即或者是參數(shù)的個數(shù)不同,或者是參數(shù)的類型不同。5.1類的定義六、構(gòu)造方法構(gòu)造方法是一種特殊的方法,它的名字必須與它所在的類的名字完全相同,而且沒有類型,構(gòu)造方法也可以重載。5.1類的定義六、構(gòu)造方法例如:classPeople{Stringname;intage;doubleheight;doubleweight;People()5.1類的定義六、構(gòu)造方法例如:{name=“zhangli”;
age=20;
height=1.65;
weight=48;}People(Stringname1,intage1){name=name1;age=age1;
}
}相關(guān)知識與技術(shù)5.2對象的創(chuàng)建和使用5.2對象的創(chuàng)建和使用一、創(chuàng)建對象類是創(chuàng)建對象的模板,當(dāng)使用一個類創(chuàng)建了一個對象時,也就說給出了這個類的一個實例。創(chuàng)建對象包括對象的聲明和為對象分配內(nèi)存兩個步驟。5.2對象的創(chuàng)建和使用一、創(chuàng)建對象1)對象的聲明格式類名對象名字;如:Peoplewangli,zhangping;5.2對象的創(chuàng)建和使用一、創(chuàng)建對象2)為聲明的對象分配內(nèi)存用new運算符和類的構(gòu)造方法為聲明的對象分配內(nèi)存,如果類中沒有構(gòu)造方法,系統(tǒng)會調(diào)用默認(rèn)的構(gòu)造方法(默認(rèn)的構(gòu)造方法不帶參數(shù),什么都不做)。如:wangli=newPeople();
zhangping=newPeople("zhangping",19);5.2對象的創(chuàng)建和使用二、對象的使用通過成員運算符“.”,對象可以實現(xiàn)對變量的訪問和對方法的調(diào)用。格式:
對象名.成員變量名
對象名.方法名(<參數(shù)列表>)5.2對象的創(chuàng)建和使用三、對象的引用和實體當(dāng)用類創(chuàng)建一個對象時,類中的成員變量被分配內(nèi)存空間,這些內(nèi)存空間稱為該對象的實體,而對象中存放著引用(地址),以確保實體由該對象操作使用。5.2對象的創(chuàng)建和使用三、對象的引用和實體Peoplezhangping;zhangping=newPeople("zhangping",20);null未分配實體的對象0XD234zhangping205.2對象的創(chuàng)建和使用三、對象的引用和實體例:若有定義Peoplep1=newPeople("zhang",16),
p2=newPeople("wang",18);0XD234zhang16p10X12ABwang18p25.2對象的創(chuàng)建和使用三、對象的引用和實體若p1=p20XD234zhang16p10XD234p25.2對象的創(chuàng)建和使用四、方法參數(shù)在Java中,方法的所有參數(shù)都是“傳值”調(diào)用的,例如:
voidf(intx){......}
調(diào)用函數(shù)時,要向x傳遞一個int值,如:f(y),如果在方法中改變了參數(shù)x的值,不會影響實參y的值。方法定義時,方法名后面括弧內(nèi)的參數(shù)稱為形式參數(shù)(簡稱形參),方法調(diào)用時,方法名后面括弧內(nèi)的參數(shù)稱為實在參數(shù)(簡稱實參)。5.2對象的創(chuàng)建和使用四、方法參數(shù)1基本數(shù)據(jù)類型做方法參數(shù)當(dāng)形式參數(shù)是基本數(shù)據(jù)類型時,向該參數(shù)傳遞的值的級別不可以高于該參數(shù)的級別,如不能向int型參數(shù)傳遞一個float型值,但可以向它傳遞一個byte型值。5.2對象的創(chuàng)建和使用四、方法參數(shù)2Java的引用類型包括對象、數(shù)組和接口當(dāng)形式參數(shù)是引用類型時,“傳值”傳遞的是變量的引用而不是變量所引用的實體。如果改變形參變量所引用的實體,就會導(dǎo)致實參變量的實體發(fā)生同樣的變化,因為實參變量和形參變量具有相同的引用,具有相同的實體。但是,改變形參變量的引用,不會改變實參變量的引用。相關(guān)知識與技術(shù)5.3static關(guān)鍵字5.3static關(guān)鍵字在定義類時,使用static修飾的變量和方法分別稱為類變量(靜態(tài)變量)和類方法(靜態(tài)方法),沒有使用static修飾的變量和方法稱為實例變量和實例方法。一個類的類成員是屬于這個類的,而不是屬于這個類的某個對象,它由這個類所創(chuàng)建的所有對象共同擁有。對于類變量,所有對象的類變量都分配相同的一個內(nèi)存(實際上只有一個),如果該類的一個對象改變了類變量的值,會影響到其它對象訪問類變量時的值。5.3static關(guān)鍵字對于實例變量,不同對象的實例變量將被分配不同的內(nèi)存,一個對象改變自己的實例變量,不會影響到其他對象的實例變量的值。對于類成員,通常通過類名來訪問,也可以通過對象來訪問。在類方法中只能訪問類成員,不能訪問實例成員。相關(guān)知識與技術(shù)5.4this關(guān)鍵字5.4this關(guān)鍵字this關(guān)鍵字出現(xiàn)在構(gòu)造方法中,代表使用該構(gòu)造方法正在創(chuàng)建的對象。this代表當(dāng)前對象,可以出現(xiàn)在實例方法和構(gòu)造方法中,但不可以出現(xiàn)在類方法中。this關(guān)鍵字出現(xiàn)在實例方法中,代表正在調(diào)用該方法的當(dāng)前對象。例:this出現(xiàn)在構(gòu)造方法中。例:this出現(xiàn)在實例方法中。相關(guān)知識與技術(shù)5.5成員的訪問權(quán)限5.5成員的訪問權(quán)限創(chuàng)建某類的一個對象之后,該對象通過“.”運算符訪問自己的變量、調(diào)用類中的方法時是有一定的限制的。5.5成員的訪問權(quán)限公有的:public私有的:private保護(hù)的:protectedJava語言中有三種訪問控制修飾符,用來控制類的成員的訪問權(quán)限。5.5成員的訪問權(quán)限一、公有的(public)用public修飾的變量和方法稱為公有變量和公有方法。如:classPeople
{publicStringname;
publicintage;
publicvoidprint(){......}
}5.5成員的訪問權(quán)限一、公有的(public)當(dāng)在任何一個類中用類People創(chuàng)建了一個對象后,該對象能訪問自己的public變量和調(diào)用public方法。如:classTest
{voidf()
{Peoplep=newPeople();
="zhangsan";
p.age=21;
p.print();
}
}5.5成員的訪問權(quán)限二、私有的(private)用private修飾的變量和方法稱為私有變量和私有方法。如:classPeople
{privateStringname;
privateintage;
privatevoidprint(){......}
}5.5成員的訪問權(quán)限二、私有的(private)當(dāng)在另外一個類中用類People創(chuàng)建了一個對象后,該對象不能訪問自己的私有變量和調(diào)用私有方法。如:classTest
{voidf()
{Peoplep=newPeople();
="zhangsan";//非法
p.age=21;//非法
p.print();//非法
}
}5.5成員的訪問權(quán)限二、私有的(private)如果一個類中的某個成員變量或方法是私有的,那么在另外一個類中,也不能通過類名來訪問這個私有變量或調(diào)用這個私有方法。對于私有成員變量或方法,只有在本類中創(chuàng)建該類的對象時,這個對象才能訪問自己的私有變量和類中的私有方法。5.5成員的訪問權(quán)限三、友好的(friendly)不用任何修飾符修飾的成員變量和方法稱為友好變量和友好方法。如:classPeople
{Stringname;
intage;
voidprint(){......}
}5.5成員的訪問權(quán)限三、友好的(friendly)當(dāng)在另外一個類中用類People創(chuàng)建了一個對象后,如果這個類與People類在同一個包中,那么該對象能訪問自己的友好成員,也可以通過類名訪問類友好成員。如果這個類與People類不在同一個包中,那么該對象將不能訪問自己的友好成員。5.5成員的訪問權(quán)限四、保護(hù)的(protected)用protected修飾的變量和方法稱為保護(hù)變量和保護(hù)方法。如:classPeople
{protectedStringname;
protectedintage;
protectedvoidprint(){......}
}5.5成員的訪問權(quán)限四、保護(hù)的(protected)當(dāng)在另外一個類中用類People創(chuàng)建了一個對象后,如果這個類與People類在同一個包中,那么該對象能訪問自己的保護(hù)成員,也可以通過類名訪問類保護(hù)成員。如果這個類與People類不在同一個包中,那么該對象將不能訪問自己的保護(hù)成員。5.5成員的訪問權(quán)限五、公有類和友好類若在定義一個類時,class前面加上public關(guān)鍵字,則稱這個類為公有類。如果一個類不加public修飾,則稱這個類為友好類。如果在另外一個類中使用友好類創(chuàng)建對象,要保證它們是在同一個包中。如:
publicclassA
{......}可以在任何另外一個類中,使用public類來創(chuàng)建對象。任務(wù)實施假定學(xué)生信息有學(xué)號,姓名和成績,定義學(xué)生類如下:classStudentInfo{intscore;Stringname;intnumber;publicStudentInfo(intnumber,Stringname,intscore){ this.number=number; =name; this.score=score;}任務(wù)實施假定學(xué)生信息有學(xué)號,姓名和成績,定義學(xué)生類如下:publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name; } publicintgetNumber(){ returnnumber; } publicvoidsetNumber(intnumber){ this.number=number; }任務(wù)實施假定學(xué)生信息有學(xué)號,姓名和成績,定義學(xué)生類如下:publicintgetScore(){ returnscore; } publicvoidsetScore(intscore){ this.score=score; }}任務(wù)小結(jié)通過完成任務(wù),要求學(xué)生理解面向?qū)ο蟮幕靖拍?,掌握類和對象的定義方法及使用,熟悉static,this等關(guān)鍵字的用法。5.2對象的創(chuàng)建和使用一、創(chuàng)建對象類是創(chuàng)建對象的模板,當(dāng)使用一個類創(chuàng)建了一個對象時,也就說給出了這個類的一個實例。創(chuàng)建對象包括對象的聲明和為對象分配內(nèi)存兩個步驟。5.2對象的創(chuàng)建和使用一、創(chuàng)建對象1)對象的聲明格式類名對象名字;如:Peoplewangli,zhangping;5.2對象的創(chuàng)建和使用一、創(chuàng)建對象2)為聲明的對象分配內(nèi)存用new運算符和類的構(gòu)造方法為聲明的對象分配內(nèi)存,如果類中沒有構(gòu)造方法,系統(tǒng)會調(diào)用默認(rèn)的構(gòu)造方法(默認(rèn)的構(gòu)造方法不帶參數(shù),什么都不做)。如:wangli=newPeople();
zhangping=newPeople("zhangping",19);5.2對象的創(chuàng)建和使用二、對象的使用通過成員運算符“.”,對象可以實現(xiàn)對變量的訪問和對方法的調(diào)用。格式:
對象名.成員變量名
對象名.方法名(<參數(shù)列表>)5.2對象的創(chuàng)建和使用三、對象的引用和實體當(dāng)用類創(chuàng)建一個對象時,類中的成員變量被分配內(nèi)存空間,這些內(nèi)存空間稱為該對象的實體,而對象中存放著引用(地址),以確保實體由該對象操作使用。5.2對象的創(chuàng)建和使用三、對象的引用和實體Peoplezhangping;zhangping=newPeople("zhangping",20);null未分配實體的對象0XD234zhangping205.2對象的創(chuàng)建和使用三、對象的引用和實體例:若有定義Peoplep1=newPeople("zhang",16),
p2=newPeople("wang",18);0XD234zhang16p10X12ABwang18p25.2對象的創(chuàng)建和使用三、對象的引用和實體若p1=p20XD234zhang16p10XD234p25.2對象的創(chuàng)建和使用四、方法參數(shù)在Java中,方法的所有參數(shù)都是“傳值”調(diào)用的,例如:
voidf(intx){......}
調(diào)用函數(shù)時,要向x傳遞一個int值,如:f(y),如果在方法中改變了參數(shù)x的值,不會影響實參y的值。方法定義時,方法名后面括弧內(nèi)的參數(shù)稱為形式參數(shù)(簡稱形參),方法調(diào)用時,方法名后面括弧內(nèi)的參數(shù)稱為實在參數(shù)(簡稱實參)。5.2對象的創(chuàng)建和使用四、方法參數(shù)1基本數(shù)據(jù)類型做方法參數(shù)當(dāng)形式參數(shù)是基本數(shù)據(jù)類型時,向該參數(shù)傳遞的值的級別不可以高于該參數(shù)的級別,如不能向int型參數(shù)傳遞一個float型值,但可以向它傳遞一個byte型值。5.2對象的創(chuàng)建和使用四、方法參數(shù)2Java的引用類型包括對象、數(shù)組和接口當(dāng)形式參數(shù)是引用類型時,“傳值”傳遞的是變量的引用而不是變量所引用的實體。如果改變形參變量所引用的實體,就會導(dǎo)致實參變量的實體發(fā)生同樣的變化,因為實參變量和形參變量具有相同的引用,具有相同的實體。但是,改變形參變量的引用,不會改變實參變量的引用。5.3static關(guān)鍵字在定義類時,使用static修飾的變量和方法分別稱為類變量(靜態(tài)變量)和類方法(靜態(tài)方法),沒有使用static修飾的變量和方法稱為實例變量和實例方法。一個類的類成員是屬于這個類的,而不是屬于這個類的某個對象,它由這個類所創(chuàng)建的所有對象共同擁有。對于類變量,所有對象的類變量都分配相同的一個內(nèi)存(實際上只有一個),如果該類的一個對象改變了類變量的值,會影響到其它對象訪問類變量時的值。5.3static關(guān)鍵字對于實例變量,不同對象的實例變量將被分配不同的內(nèi)存,一個對象改變自己的實例變量,不會影響到其他對象的實例變量的值。對于類成員,通常通過類名來訪問,也可以通過對象來訪問。在類方法中只能訪問類成員,不能訪問實例成員。5.4this關(guān)鍵字this關(guān)鍵字出現(xiàn)在構(gòu)造方法中,代表使用該構(gòu)造方法正在創(chuàng)建的對象。this代表當(dāng)前對象,可以出現(xiàn)在實例方法和構(gòu)造方法中,但不可以出現(xiàn)在類方法中。this關(guān)鍵字出現(xiàn)在實例方法中,代表正在調(diào)用該方法的當(dāng)前對象。例:this出現(xiàn)在構(gòu)造方法中。例:this出現(xiàn)在實例方法中。5.4this關(guān)鍵字this關(guān)鍵字出現(xiàn)在構(gòu)造方法中,代表使用該構(gòu)造方法正在創(chuàng)建的對象。this代表當(dāng)前對象,可以出現(xiàn)在實例方法和構(gòu)造方法中,但不可以出現(xiàn)在類方法中。this關(guān)鍵字出現(xiàn)在實例方法中,代表正在調(diào)用該方法的當(dāng)前對象。例:this出現(xiàn)在構(gòu)造方法中。例:this出現(xiàn)在實例方法中。5.5成員的訪問權(quán)限創(chuàng)建某類的一個對象之后,該對象通過“.”運算符訪問自己的變量、調(diào)用類中的方法時是有一定的限制的。5.5成員的訪問權(quán)限公有的:public私有的:private保護(hù)的:protectedJava語言中有三種訪問控制修飾符,用來控制類的成員的訪問權(quán)限。5.5成員的訪問權(quán)限一、公有的(public)用public修飾的變量和方法稱為公有變量和公有方法。如:classPeople
{publicStringname;
publicintage;
publicvoidprint(){......}
}5.5成員的訪問權(quán)限一、公有的(public)當(dāng)在任何一個類中用類People創(chuàng)建了一個對象后,該對象能訪問自己的public變量和調(diào)用public方法。如:classTest
{voidf()
{Peoplep=newPeople();
="zhangsan";
p.age=21;
p.print();
}
}5.5成員的訪問權(quán)限二、私有的(private)用private修飾的變量和方法稱為私有變量和私有方法。如:classPeople
{privateStringname;
privateintage;
privatevoidprint(){......}
}5.5成員的訪問權(quán)限二、私有的(private)當(dāng)在另外一個類中用類People創(chuàng)建了一個對象后,該對象不能訪問自己的私有變量和調(diào)用私有方法。如:classTest
{voidf()
{Peoplep=newPeople();
="zhangsan";//非法
p.age=21;//非法
p.print();//非法
}
}5.5成員的訪問權(quán)限二、私有的(private)如果一個類中的某個成員變量或方法是私有的,那么在另外一個類中,也不能通過類名來訪問這個私有變量或調(diào)用這個私有方法。對于私有成員變量或方法,只有在本類中創(chuàng)建該類的對象時,這個對象才能訪問自己的私有變量和類中的私有方法。5.5成員的訪問權(quán)限三、友好的(friendly)不用任何修飾符修飾的成員變量和方法稱為友好變量和友好方法。如:classPeople
{Stringname;
intage;
voidprint(){......}
}5.5成員的訪問權(quán)限三、友好的(friendly)當(dāng)在另外一個類中用類People創(chuàng)建了一個對象后,如果這個類與People類在同一個包中,那么該對象能訪問自己的友好成員,也可以通過類名訪問類友好成員。如果這個類與People類不在同一個包中,那么該對象將不能訪問自己的友好成員。5.5成員的訪問權(quán)限四、保護(hù)的(protected)用protected修飾的變量和方法稱為保護(hù)變量和保護(hù)方法。如:classPeople
{protectedStringname;
protectedintage;
protectedvoidprint(){......}
}5.5成員的訪問權(quán)限四、保護(hù)的(protected)當(dāng)在另外一個類中用類People創(chuàng)建了一個對象后,如果這個類與People類在同一個包中,那么該對象能訪問自己的保護(hù)成員,也可以通過類名訪問類保護(hù)成員。如果這個類與People類不在同一個包中,那么該對象將不能訪問自己的保護(hù)成員。5.5成員的訪問權(quán)限五、公有類和友好類若在定義一個類時,class前面加上public關(guān)鍵字,則稱這個類為公有類。如果一個類不加public修飾,則稱這個類為友好類。如果在另外一個類中使用友好類創(chuàng)建對象,要保證它們是在同一個包中。如:
publicclassA
{......}可以在任何另外一個類中,使用public類來創(chuàng)建對象。任務(wù)實施假定學(xué)生信息有學(xué)號,姓名和成績,定義學(xué)生類如下:classStudentInfo{intscore;Stringname;intnumber;publicStudentInfo(intnumber,Stringname,intscore){ this.number=number; =name; this.score=score;}任務(wù)實施假定學(xué)生信息有學(xué)號,姓名和成績,定義學(xué)生類如下:publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name; } publicintgetNumber(){ returnnumber; } publicvoidsetNumber(intnumber){ this.number=number; }任務(wù)實施假定學(xué)生信息有學(xué)號,姓名和成績,定義學(xué)生類如下:publicintgetScore(){ returnscore; } publicvoidsetScore(intscore){ this.score=score; }}任務(wù)小結(jié)通過完成任務(wù),要求學(xué)生理解面向?qū)ο蟮幕靖拍?,掌握類和對象的定義方法及使用,熟悉static,this等關(guān)鍵字的用法。任務(wù)分析在學(xué)生成績管理系統(tǒng)中,可以用類來表示學(xué)生基本信息,對學(xué)生信息的各種處理和運算可以用不同的方法來實現(xiàn)。相關(guān)知識與技術(shù)5.6
類的繼承一、子類的定義格式:
[類修飾符]class子類名extends父類名
{......
}如:
classStudentextendsPeople
{......
}注:如果一個類的聲明中沒有使用extends關(guān)鍵字,則這個類被系統(tǒng)默認(rèn)為是Object類的直接子類。Object是java.lang包中的類。二、類成員的繼承類有兩種重要的成員:成員變量和方法。子類的成員中有一部分是子類自己聲明定義的,另一部分是從它的父類繼承的。二、類成員的繼承子類繼承父類的成員變量:能夠繼承public和protected成員變量。能夠繼承同一包中的默認(rèn)修飾符的成員變量。不能繼承private成員變量。如果子類成員變量與超類同名,則不能繼承。二、類成員的繼承能夠繼承public和protected方法。能夠繼承同一包中的默認(rèn)修飾符的方法。不能繼承private方法。不能繼承超類的構(gòu)造方法。子類繼承父類的方法:如果子類方法與超類方法同名,則不能繼承。(被覆蓋)相關(guān)知識與技術(shù)5.7成員變量的隱藏和方法的重寫一、成員變量的隱藏子類方法中訪問的也是子類重新定義的這個成員變量。如果子類定義的成員變量與從父類繼承的成員變量同名,我們就說子類隱藏了父類的成員變量。此時,子類對象訪問的是子類重新定義的成員變量。二、方法的重寫如果子類定義的方法與從父類繼承的方法從名字、返回類型、參數(shù)個數(shù)和類型都完全相同,則我們說子類重寫了從父類繼承的方法。子類重寫父類的方法時,不可以降低方法的訪問權(quán)限。(訪問權(quán)限的級別從高到低依次為:public、protected、友好的、private)。一旦子類重寫了從父類繼承的方法,那么子類對象調(diào)用的一定是這個重寫的方法,重寫的方法可以操作從父類繼承的成員變量也可以操作子類新聲明的成員變量。相關(guān)知識與技術(shù)5.8super關(guān)鍵字5.8
super關(guān)鍵字前面講過,如果子類中定義的成員變量和父類中的成員變量同名時,子類就隱藏了從父類繼承的成員變量。當(dāng)子類中定義了一個方法,并且這個方法的名字、返回類型、參數(shù)個數(shù)和類型和父類的某個方法完全相同時,子類從父類繼承的這個方法將被隱藏,如果想在子類中使用被子類隱藏的成員變量或方法可以使用關(guān)鍵字super。一、使用關(guān)鍵字super調(diào)用父類的構(gòu)造方法子類不能繼承父類的構(gòu)造方法,如果子類想使用父類的構(gòu)造方法,必須在子類的構(gòu)造方法中使用,前面加上關(guān)鍵字super來表示,并且super必須是子類構(gòu)造方法的第一條語句。注意若在子類構(gòu)造方法中,沒有使用關(guān)鍵字super調(diào)用父類的某個構(gòu)造方法,那么默認(rèn)有super();即調(diào)用父類的不帶參數(shù)的構(gòu)造方法。二、使用關(guān)鍵字super操作被隱藏的成員變量和方法如果想在子類中使用那些被隱藏了的父類的成員變量或方法就可以使用關(guān)鍵字super。如:super.x、super.f(),使用的就是被子類隱藏的父類的成員變量x和方法f()。相關(guān)知識與技術(shù)5.9final關(guān)鍵字5.9final關(guān)鍵字final關(guān)鍵字可以修飾類、成員變量和方法中的參數(shù)final類不能被繼承,即不能有子類。如果一個成員變量
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 培訓(xùn)班合作協(xié)議書(5篇)
- 廚房的消防應(yīng)急預(yù)案(5篇)
- 網(wǎng)絡(luò)安全應(yīng)急響應(yīng)機(jī)制研究-洞察分析
- 新聞紙強(qiáng)度提升策略-洞察分析
- 元數(shù)據(jù)標(biāo)準(zhǔn)與互操作性-洞察分析
- 疫情后物流新趨勢-洞察分析
- 微生物組與個性化醫(yī)療-洞察分析
- 同慶建筑風(fēng)格的文化內(nèi)涵解讀-洞察分析
- 用戶旅程優(yōu)化路徑-洞察分析
- 向媽媽承認(rèn)錯誤檢討書(15篇)
- 《銷售人員回款培訓(xùn)》課件
- GB/T 45008-2024稀土熱障涂層材料鋯酸釓鐿粉末
- 經(jīng)理與領(lǐng)導(dǎo)人員管理制度
- 全國第三屆職業(yè)技能大賽(數(shù)字孿生應(yīng)用技術(shù))選拔賽理論考試題庫(含答案)
- 2024年湖北省襄陽市高新區(qū)招聘46人歷年管理單位遴選500模擬題附帶答案詳解
- 應(yīng)用數(shù)理統(tǒng)計知到智慧樹章節(jié)測試課后答案2024年秋中國農(nóng)業(yè)大學(xué)
- 文藝復(fù)興史學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 大國三農(nóng)II-農(nóng)業(yè)科技版智慧樹知到期末考試答案章節(jié)答案2024年中國農(nóng)業(yè)大學(xué)
- 綠化養(yǎng)護(hù)服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 2024年湛江市農(nóng)業(yè)發(fā)展集團(tuán)有限公司招聘筆試沖刺題(帶答案解析)
- (正式版)HGT 6313-2024 化工園區(qū)智慧化評價導(dǎo)則
評論
0/150
提交評論