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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論