版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
繼承
?繼承
?數(shù)據(jù)隱藏
?方法重寫
?super關(guān)鍵字的使用
?訪問修飾符
?包的使用
HandsOn
繼承的優(yōu)點
HandsOn
繼承
Java當(dāng)中,Java的所有類都有是直接或間接地繼承
Object類。被繼承的類稱為父類,繼承而得到的類稱
為子類
?類的繼承是通過在類的定義過程中,用關(guān)鍵字extends
來說明.一次只能繼承一個類,即單重繼承。
?格式:
[修飾符]class類的名字extends父類{}
?子類繼承父類后
>可繼承和訪問父類中公共類型和保護(hù)類型的成員變量或方法
>不能繼承和訪問被聲明為私有類型的成員變量或方法
?子類可以添加屬于自己的新的變量和方法,這叫擴(kuò)展。
?子類可修改父類的變量或重寫父類的方法,這叫重寫。
HandsOn
繼承的實現(xiàn)
1.classEmployee(
2.Stringname;
3.floatsalary=2000f;
4.publicfloatgetSalary(){
5.returnsalary;
6.}
7.}
8.classManagerextendsEmployee{
9.intbouns;
10.publicvoidsetBouns(intb){
11.bouns=b;
12.}
13.publicstaticvoidmain(String[]s){
14.Managerm=newManager();
15.m.setBouns(1000);
16.floatfs=m.getSalary()+m.bouns;
17.System.out.println(fs);
18.}
19.}
HandsOn
繼承過程中的重寫
?當(dāng)子類的成員(數(shù)據(jù)/方法)與父類的同名(參
數(shù)完全一樣)時,子類的會隱藏父類的成員
變量/成員方法,即發(fā)生了重寫。
?重寫規(guī)則:
必須發(fā)生在繼承關(guān)系中
方法名,參數(shù)列表,返回類型完全一樣
重寫方法的訪問性不能比被重寫方法差
重寫方法不能拋出更多或更廣的異常
HandsOn
繼承過程中的數(shù)據(jù)重寫
1.classA{
2.intx=5;當(dāng)在子類中定義了一個
3.)與父類完全一樣的數(shù)據(jù)
4.classBextendsA{成員時,在子類中將隱臧
5.intx=10;
6.intgetX(){這個父類成員,即在子
7.returnx;類中缺省將不能訪問這
8.)個父類成員
9.publicstaticvoidmain(String[]s){
10.Bb=newB();
11.b.getX();//?
12.)
13.}
HandsOn
繼承過程中的方法重寫
1.classA{
2.voidf(){System.out.println(uAf()”);}
3}
4.classBextendsA{
5.voidf(){
6.System.out.println(uBf()”);
7.}
8.publicstaticvoidmain(String[]s){
9.Bb=newB();
io.b.f();〃?
11.}
12.)
HandsOn
super關(guān)鍵字的使用
?解決隱藏與重寫
子類在隱藏父類的成員變量或重寫了父類的方
法以后,有時要訪問被重寫的方法或隱藏的成
員,Java提供super關(guān)鍵字來實現(xiàn)對父類的訪
問,super位置不向定
?顯示調(diào)用父類構(gòu)造方法
super位置必須位于子類構(gòu)造函數(shù)的第一
句的位置
HandsOn
super調(diào)用重寫數(shù)據(jù)
1.classA{
2.intx=5;
3.}
4.classBextendsA{
5.intx=10;
6.intgetX(){
7.returnx+super.x;
8.}
9.publicstaticvoidmain(String[]s){
10.Bb=newB();
11.b.getX();//?
12.)
13.}
HandsOn
super調(diào)用重寫方法
1.classA{
2.voidf(){System.out.println(uAf()”);}
3}
4.classBextendsA{
5.voidf(){
6.super.f();
7.System.out.println(uBf()”);
8.)
9.publicstaticvoidmain(String[]s){
10.Bb=newB();
11.b.f();//?
12.)
13.}
HandsOn
super在子類構(gòu)造函數(shù)中的應(yīng)
a
?子類構(gòu)建對象時,會先調(diào)用父類的構(gòu)造函
數(shù),然后在調(diào)用自身構(gòu)造函數(shù)
?2種情況:
1)父類存在無參構(gòu)造函數(shù)
子類構(gòu)造函數(shù)中super可以省略
2)父類不存在無參構(gòu)造函數(shù)
子類必須手寫構(gòu)造函數(shù),并且必須在
第一句話顯式調(diào)用super(參數(shù)列表)
HandsOn
訪問修飾符
?類
>public可以跨包使用
A缺省只允許在包中使用
?成員
>public
>protected
>缺省
>private
HandsOn
成員訪問修飾符3-2
HandsOn
包
?包是類庫的組成單元,Java的類庫是由各種各樣功能包組成的.
>Java安裝目錄jre\lib\rtjar就是java的類庫
?類和接口是包的組成元素,編程人員可以把一組類和接口通過
package關(guān)鍵字封裝在一個包中。從而實現(xiàn)了Java的命名空間。
?聲明包
>在源文件的開始加上:package包名(要求全部小寫)(反域名制)
>在編譯時,加-d參數(shù),指明包放的位置
?使用包中的類
>如使用不同包的類,必須加入import關(guān)鍵字
>引用的包必須在classpath環(huán)境變量中,如果不在,運行時要用-
classpath參數(shù)單獨指定.
HandsOn
打包及編譯■示例
1.packageedu.dhcc.j2se.parti0;
2.publicclassTest{
3.privateintm;
4.intn;
5.protectedintx;
6.publicinty;
7.}
javac-d編譯后當(dāng)前類所在根包存放的路徑Test.java
HandsOn
使用包的類一示例
1.packageedu.dhcc.test;
2.importedu.dhcc.j2se.partiO.Test;
3.classUseTestlextendsTest{
4.UseTestl(){
5.y=30;
6.x=40;
7.〃m,n為什么在這里不能訪問
8.)
9.}
10.publicclassUseTest{
11.publicstaticvoidmain(String[]s){
12.Testt=newTest();
13.t.y=30;
14.為什么在這里不能訪問
15.}
16.}
HandsOn
編譯及運行
?javac-d編譯后包存放路徑UseTestjava
>要求源文件中使用的包必須在classpath環(huán)境
變量中才可編譯通過
?javaedu.dhcc.testUseTest
>要求運行的當(dāng)前類及所使用類都在
classpath環(huán)境變量中才可運行通過
HandsOn
作業(yè)
在員工管理系統(tǒng)中,有普通員工,經(jīng)理,董事三種角色,
公司所有的員工都有員工Id,員工名字,員工基本薪水
(2000),請假天數(shù);現(xiàn)初步定Employee類為父類,
Manager子類、Director(董事)子葵,它們的區(qū)別是
計算工資方式一樣。
具體工資計算辦法:
?A、工資扣除部
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石河子大學(xué)《食品工程原理二》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《現(xiàn)代人工智能技術(shù)》2023-2024學(xué)年期末試卷
- 石河子大學(xué)《家畜繁殖學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《自動控制理論》2021-2022學(xué)年期末試卷
- 沈陽理工大學(xué)《建筑模型制作與工藝》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《電工與電子技術(shù)實驗》2023-2024學(xué)年期末試卷
- 光伏代理商合同范本
- 沈陽理工大學(xué)《環(huán)境設(shè)計》2021-2022學(xué)年第一學(xué)期期末試卷
- 海事法院 合同解除 典型案例
- 合同到期的續(xù)簽申請書
- 小米公司CIS設(shè)計
- 【可行性報告】2023年年煙草行業(yè)項目可行性分析報告
- 《茶葉審評技術(shù)》課程考試復(fù)習(xí)題庫(含答案)
- 泡沫塑料行業(yè)消防安全制度設(shè)立與監(jiān)察
- 《非連續(xù)性文本解讀》
- 表演專業(yè)大學(xué)生職業(yè)生涯規(guī)劃書
- 網(wǎng)絡(luò)安全防御綜合態(tài)勢感知系統(tǒng)項目可行性分析報告
- 螺紋緊固件知識
- NET Core 底層入門(完整版)
- 淺談歌曲《紅豆詞》的藝術(shù)特征
- 【設(shè)計師】訪談平面設(shè)計師
評論
0/150
提交評論