第六章面向?qū)ο骭第1頁(yè)
第六章面向?qū)ο骭第2頁(yè)
第六章面向?qū)ο骭第3頁(yè)
第六章面向?qū)ο骭第4頁(yè)
第六章面向?qū)ο骭第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Java語(yǔ)言基礎(chǔ)第六章 面向?qū)ο?什么是對(duì)象 什么是類(lèi) 類(lèi)與對(duì)象的關(guān)系 類(lèi)的定義與使用 構(gòu)造方法的使用 方法的重載 this關(guān)鍵字上章內(nèi)容 類(lèi)成員與實(shí)例成員區(qū)別 static 關(guān)鍵字的使用 包的使用 package 關(guān)鍵字 import 關(guān)鍵字 封裝 繼承 extends關(guān)鍵字 方法的重寫(xiě) super關(guān)鍵字本節(jié)內(nèi)容 什么是類(lèi)成員 使用static修飾的成員方法和成員變量稱(chēng)為類(lèi)成員 使用static修飾的成員變量叫做類(lèi)變量 使用static修飾的成員方法叫做類(lèi)方法 什么是實(shí)例變量 未使用static修飾的成員方法和成員變量稱(chēng)為實(shí)例成員 未使用static修飾的成員變量叫做實(shí)例變量 未使用stat

2、ic修飾的成員方法叫做實(shí)例方法實(shí)例成員與類(lèi)成員實(shí)例成員和類(lèi)成員 實(shí)例變量和類(lèi)變量的區(qū)別 所有該類(lèi)的對(duì)象共享同一個(gè)類(lèi)變量,但是每個(gè)對(duì)象都會(huì)有自己獨(dú)特的實(shí)例變量 所有該類(lèi)的對(duì)象都能改變類(lèi)變量的值,但是每個(gè)對(duì)象只能改變自己的實(shí)例變量值 實(shí)例變量在使用前必須創(chuàng)建一個(gè)對(duì)象,根據(jù)對(duì)象名.變量名使用,但是類(lèi)變量不需要?jiǎng)?chuàng)建對(duì)象實(shí)例變量和類(lèi)變量的區(qū)別實(shí)例變量和類(lèi)變量的區(qū)別 類(lèi)方法和實(shí)例方法的區(qū)別 所有該類(lèi)對(duì)象共享類(lèi)方法和類(lèi)變量 類(lèi)方法使用類(lèi)名.方法名(參數(shù))調(diào)用 實(shí)例方法使用對(duì)象名.方法名(參數(shù))調(diào)用類(lèi)方法和實(shí)例方法的區(qū)別 實(shí)例成員和類(lèi)成員的相互訪(fǎng)問(wèn)限制 實(shí)例方法可以直接訪(fǎng)問(wèn)實(shí)例變量和實(shí)例方法。 實(shí)例方法可以直

3、接訪(fǎng)問(wèn)類(lèi)變量和類(lèi)方法。 類(lèi)方法可以直接訪(fǎng)問(wèn)類(lèi)變量和類(lèi)方法。 類(lèi)方法不能直接訪(fǎng)問(wèn)實(shí)例變量或?qū)嵗椒?,要訪(fǎng)問(wèn)它們必須使用對(duì)象引用。還有,類(lèi)方法不能使用this關(guān)鍵字,因?yàn)闆](méi)有this的實(shí)例可供使用。 實(shí)例成員和類(lèi)成員 靜態(tài)代碼塊 是一個(gè)以static為前導(dǎo)的代碼塊,一般用于為類(lèi)的工作做一些初始化工作,如初始化一些靜態(tài)變量。 一個(gè)類(lèi)中可以有許多靜態(tài)初始化塊,并且它們可以出現(xiàn)在類(lèi)體的任何地方。運(yùn)行時(shí)系統(tǒng)會(huì)保證靜態(tài)初始化塊會(huì)按照它們?cè)谠创a中出現(xiàn)的順序被調(diào)用 static的其他使用 什么是包 包是Java用于提供訪(fǎng)問(wèn)保護(hù)和命名空間管理的方式 簡(jiǎn)單的理解,包就是用來(lái)將Java中類(lèi)和接口等進(jìn)行分類(lèi)管理的工具

4、,類(lèi)似于操作系統(tǒng)中的目錄 包的聲明 package 包名; 包名的前半部分一般使用倒置的域名,后半部分一般采用該包下類(lèi)分類(lèi)名(或者功能名) 如:package com.sina.util; 包的聲明必須是整個(gè)類(lèi)文件可執(zhí)行的第一行語(yǔ)句包的使用聲明包 一旦需要使用另外一個(gè)包中的類(lèi)時(shí),需要將該類(lèi)導(dǎo)入到當(dāng)前類(lèi)中,如需要在程序中使用java.util包下的Scanner類(lèi),需要將給類(lèi)先導(dǎo)入到使用的類(lèi)中 類(lèi)導(dǎo)入的語(yǔ)法 import 包名.類(lèi)名; 或者 import 包名.*;包的導(dǎo)入導(dǎo)入類(lèi) 訪(fǎng)問(wèn)修飾符對(duì)成員變量和成員方法的訪(fǎng)問(wèn)限定訪(fǎng)問(wèn)修飾符 封裝的概念 把客觀(guān)事物封裝成抽象的類(lèi),并且類(lèi)可以把自己的屬性和方

5、法只讓可信的類(lèi)或者對(duì)象進(jìn)行操作,對(duì)不可信的類(lèi)或者對(duì)象隱藏,這樣的過(guò)程叫做封裝。 封裝的分類(lèi) 對(duì)屬性的封裝 將屬性設(shè)置為private(私有),限制其只能在類(lèi)的內(nèi)部使用 對(duì)方法的封裝 對(duì)于方法的封裝,將外部可以訪(fǎng)問(wèn)方法設(shè)置為public,將外部不能訪(fǎng)問(wèn)的方法設(shè)置為private封裝的使用封裝的使用 類(lèi)中定義的私有成員變量,通常會(huì)為其提供getter和setter方法訪(fǎng)問(wèn)私有屬性,以保證對(duì)私有屬性操作的安全性封裝的使用 什么是繼承 一個(gè)新類(lèi)可以從現(xiàn)有的類(lèi)派生,這樣的過(guò)程叫做繼承 那么在繼承的過(guò)程中,新類(lèi)被稱(chēng)為子類(lèi),現(xiàn)有的類(lèi)被稱(chēng)為父類(lèi),子類(lèi)將會(huì)繼承父類(lèi)的屬性和行為。繼承的使用 繼承的語(yǔ)法 修飾符 c

6、lass 子類(lèi)類(lèi)名 extends 父類(lèi)類(lèi)名類(lèi)體部分Java繼承語(yǔ)法 子類(lèi)除了可以擁有父類(lèi)非私有的屬性和方法外,也可以擴(kuò)展自己的屬性和方法Java繼承語(yǔ)法 Java中的繼承是單繼承,也就是一個(gè)類(lèi)只能有一個(gè)父類(lèi)。 如果一個(gè)類(lèi)沒(méi)有顯式的繼承某一個(gè)類(lèi),那么它有一個(gè)默認(rèn)的父類(lèi)是java.lang.Object類(lèi)(隱式) Java繼承了父類(lèi)非私有的成員變量和成員方法,但是請(qǐng)注意:子類(lèi)是無(wú)法繼承父類(lèi)的構(gòu)造方法的繼承的使用 重寫(xiě) override (重載overload) 子類(lèi)從父類(lèi)繼承的某個(gè)實(shí)例方法無(wú)法滿(mǎn)足子類(lèi)的功能需要時(shí),需要在子類(lèi)中對(duì)該實(shí)例方法進(jìn)行重新實(shí)現(xiàn),這樣的過(guò)程稱(chēng)為重寫(xiě),也叫做覆寫(xiě)(覆蓋)。 方

7、法重寫(xiě)的要求 子類(lèi)重寫(xiě)方法的訪(fǎng)問(wèn)修飾范圍必須大于或者等于父類(lèi)對(duì)應(yīng)方法的訪(fǎng)問(wèn)修飾符范圍 除修飾符外,重寫(xiě)方法的其他部分必須和父類(lèi)保持一致方法的重寫(xiě) super代表的是父類(lèi)對(duì)象 super的使用方式 super.屬性名 用于在子類(lèi)中調(diào)用父類(lèi)被隱藏的同名實(shí)例變量 super(參數(shù)列表) 用于在子類(lèi)的構(gòu)造方法中調(diào)用父類(lèi)的構(gòu)造方法 super關(guān)鍵字 super.變量名的使用 super關(guān)鍵字 super(參數(shù)列表)的使用 super關(guān)鍵字 每一個(gè)子類(lèi)的構(gòu)造方法在沒(méi)有顯示調(diào)用super()系統(tǒng)都會(huì)提供一個(gè)默認(rèn)的super() super() 書(shū)寫(xiě)在第一行 可以在子類(lèi)構(gòu)造方法中顯式調(diào)用super(),完成對(duì)

8、特定父類(lèi)構(gòu)造方法的調(diào)用 super關(guān)鍵字 類(lèi)成員與實(shí)例成員區(qū)別 static 關(guān)鍵字的使用 包的使用 package 關(guān)鍵字 import 關(guān)鍵字 封裝 繼承 extends關(guān)鍵字 方法的重寫(xiě) super關(guān)鍵字本章總結(jié) 作業(yè)一: 設(shè)計(jì)一個(gè)形狀類(lèi)Shape,方法:求周長(zhǎng)和面積 形狀類(lèi)的子類(lèi):Rect(矩形),Circle(圓形) Rect類(lèi)的子類(lèi):Square(正方形) 不同的子類(lèi)會(huì)有不同的計(jì)算周長(zhǎng)和面積的方法作業(yè) 作業(yè)二: 某公司的雇員分為以下若干類(lèi): Employee:這是所有員工總的父類(lèi),屬性:?jiǎn)T工的姓名,員工的生日月份。方法:getSalary(int month) 根據(jù)參數(shù)月份來(lái)確定工資,如果該月員工過(guò)生日,則公司會(huì)額外獎(jiǎng)勵(lì)100元。 SalariedEmployee:Employee的子類(lèi),拿固定工資的員工。屬性:月薪 HourlyEmployee:Employee的子類(lèi),按小時(shí)拿工資的員工,每月工作超出160小時(shí)的部分按照1.5倍工資發(fā)放。屬性:每小時(shí)的工資、每月工作

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論