(26)-1.2.3Java程序設(shè)計(jì)基礎(chǔ)(三)_第1頁(yè)
(26)-1.2.3Java程序設(shè)計(jì)基礎(chǔ)(三)_第2頁(yè)
(26)-1.2.3Java程序設(shè)計(jì)基礎(chǔ)(三)_第3頁(yè)
(26)-1.2.3Java程序設(shè)計(jì)基礎(chǔ)(三)_第4頁(yè)
(26)-1.2.3Java程序設(shè)計(jì)基礎(chǔ)(三)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Java程序設(shè)計(jì)基礎(chǔ)(三)目錄CONTENTS掌握J(rèn)ava中繼承的概念及使用;01掌握J(rèn)ava中多態(tài)的概念及使用;02掌握J(rèn)ava中接口的概念及使用。03一、繼承的概念在面向?qū)ο蟪绦蛟O(shè)計(jì)中,繼承的實(shí)體是類,是指我們可以在一個(gè)現(xiàn)有類(父類)的基礎(chǔ)上定義一個(gè)新類(子類),子類擁有父類的成員。在Android編程中,一個(gè)程序中的類大部分是從Android提供的某個(gè)父類派生而來的。繼承的語(yǔ)法格式為:[修飾符]class子類名extends父類名publicclassMainActivityextendsAppCompatActivity{

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

}二、繼承的使用原則

子類可以繼承父類中所有可被子類訪問的成員變量和成員方法,但必須遵循以下原則:(1)子類能夠繼承父類中被聲明為public和protected的成員變量和成員方法,但不能繼承被聲明為private的成員變量和成員方法;(2)子類能夠繼承在同一個(gè)包中的由默認(rèn)修飾符修飾的成員變量和成員方法;(3)如果子類聲明了一個(gè)與父類的成員變量同名的成員變量,則子類不能繼承父類的成員變量,此時(shí)稱子類的成員變量隱藏了父類的成員變量;(4)如果子類聲明了一個(gè)與父類的成員方法同名的成員方法,則子類不能繼承父類的成員方法,此時(shí)稱子類的成員方法覆蓋了父類的成員方法。

三、使用super關(guān)鍵字

super關(guān)鍵字主要有以下兩種用途。(1)調(diào)用父類的構(gòu)造方法。子類可以調(diào)用父類的構(gòu)造方法,但是必須在子類的構(gòu)造方法中使用super關(guān)鍵字來調(diào)用。其具體的語(yǔ)法格式如下:super([參數(shù)列表]);如果父類的構(gòu)造方法中包括參數(shù),則參數(shù)列表為必選項(xiàng),用于指定父類構(gòu)造方法的入口參數(shù)。(2)操作被隱藏的成員變量和被覆蓋的成員方法。如果想在子類中操作父類中被隱藏的成員變量和被覆蓋的成員方法,也可以使用super關(guān)鍵字。語(yǔ)法格式為:super.成員變量名super.成員方法名([參數(shù)列表])四、多態(tài)的概念多態(tài)是面向?qū)ο蟪绦蛟O(shè)計(jì)的重要部分,是面向?qū)ο蟮?個(gè)基本特性之一。多態(tài)是指同一類對(duì)象在收到同一個(gè)消息時(shí)表現(xiàn)出的不同行為。在Java語(yǔ)言中,通常使用方法的重載(Overloading)和覆蓋(Overriding)實(shí)現(xiàn)類的多態(tài)性。

五、方法的重載方法的重載是指在一個(gè)類中,出現(xiàn)多個(gè)方法名相同,但參數(shù)個(gè)數(shù)或參數(shù)類型不同的方法。Java在執(zhí)行具有重載關(guān)系的方法時(shí),將根據(jù)調(diào)用參數(shù)的個(gè)數(shù)和類型區(qū)分具體執(zhí)行的是哪個(gè)方法。重載的例子:classA{ …… intdoSomeThing(intI){return8} intdoSomeThing(floatf){return8} voiddoSomeThing(intI,floatf){}}六、方法的覆蓋方法覆蓋是指在子類中重寫父類的方法,它們的名稱、所要求的參數(shù)以及返回類型完全相同,通過改寫方法體去完成不同的功能。覆蓋體現(xiàn)了子類補(bǔ)充或者改變父類方法的能力,通過覆蓋,可以使一個(gè)方法在不同的子類中表現(xiàn)出不同的行為。在Android程序中定義的類經(jīng)常需要通過重寫父類的方法實(shí)現(xiàn)具體的功能。例如下面的類Activity3中就重寫了父類的onCreate()方法,實(shí)現(xiàn)了Activity啟動(dòng)之后一些界面加載、變量聲明、事件處理及初始化的工作。publicclassActivity3extendsAppCompatActivity{

Buttonbtn1,btn2;

TextViewtxt;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_3);

btn1=(Button)findViewById(R.id.btn1);

btn2=(Button)findViewById(R.id.btn2);

txt=(TextView)findViewById(R.id.tv2);

btn1.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewview){

}

});六、方法的覆蓋classMyClickListenerimplementsOnClickListener{publicvoidonClick(Viewv){ TextViewtv=(TextView)findViewById(R.id.tv2);

switch(view.getId()){

caseR.id.btn1:

tv.setText("你單擊了確定按鈕");

break;

caseR.id.btn2:

tv.setText("你單擊了取消按鈕");

break;}}六、方法的覆蓋七、接口簡(jiǎn)介

Java中的接口是一個(gè)特殊的抽象類,接口中包含了若干個(gè)抽象方法。接口有如下特點(diǎn):接口中只有常量接口中只有方法的聲明,沒有方法體接口中的方法,永遠(yuǎn)都被public來修飾接口中沒有構(gòu)造方法,也不能實(shí)例化接口對(duì)象接口中定義的方法都需要實(shí)現(xiàn)類來實(shí)現(xiàn),如果實(shí)現(xiàn)類不能實(shí)現(xiàn)接口中的所有方法,則實(shí)現(xiàn)類需要定義為抽象類使用接口可以實(shí)現(xiàn)多繼承八、接口的定義

接口定義格式如下:[修飾符]interface接口名[extends父接口名列表]{[public][static][final]常量;[public][abstract]方法;}修飾符:可選,用于指定接口的訪問權(quán)限,可選值為public。如果省略則使用默認(rèn)的訪問權(quán)限。接口名:必選,用于指定接口的名稱,接口名必須是合法的Java標(biāo)識(shí)符。一般情況下,要求首字母大寫。extends父接口名列表:可選參數(shù),用于指定要定義的接口繼承于哪個(gè)父接口。當(dāng)使用extends關(guān)鍵字時(shí),父接口名為必選參數(shù)。方法:接口中的方法只有定義而沒有被實(shí)現(xiàn)。publicinterfaceInterfaceName

{ doSomeThing(); doSomeThingElse(intk); floatff=0.3f;}八、接口的定義

九、接口的實(shí)現(xiàn)

接口可以被類實(shí)現(xiàn),一般語(yǔ)法格式為:[修飾符]class<類名>[exte

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論