版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、05.面向對象(上)講師:瘋狂軟件 本章要點定義類的語法格式對象的創(chuàng)建和使用方法詳解成員變量和局部變量隱藏與封裝深入理解構造器繼承與多態(tài)繼承與組合初始化塊瘋狂軟件 定義類定義類的語法格式:修飾符 class 類名 .類體.類體可以由多個屬性、方法、構造器組成。注意:類的修飾符可以是public、final 或省略這兩個。類名只要是合法的標識符.一個類里可以包含三種最常見的成員:構造器、屬性、方法。瘋狂軟件 定義屬性的格式語法修飾符 屬性類型 屬性名 = 默認值;瘋狂軟件 定義方法的格
2、式語法修飾符 方法返回值類型 方法名(形參列表) .方法體.方法中的修飾符可以是public ,protected,private,static,final,abstract,其中訪問控制符只能出現(xiàn)一個,abstract ,final 只能出現(xiàn)其一.返回值類型可以是基本類型和引用類型,如果無返回值, 要用void 來聲明形參列表,可以由零到多組組成,參數(shù)之間用逗號(“,”)隔開.static 是一個特殊的關鍵字,譯為”靜態(tài)”,所有有static 修飾的叫類屬性,類方法,類成員.瘋狂軟件 定義構造器的語法格式修飾符 構造器名(形參列表) 修飾符可以是public pr
3、otected private 構造器必須和類名相同,形參和方法的形參一樣.瘋狂軟件 對象的產(chǎn)生和使用創(chuàng)建對象的根本途徑就是構造器,所以創(chuàng)建對象通過關鍵字new 加上對應的構造器即可.如果訪問權限允許,類里定義的屬性和方法可以通過類或實例來調(diào)用,有static 修飾的訪求和屬性,既可通過類來調(diào)用,也可以通過實例來調(diào)用.瘋狂軟件 對象.引用和指針Person p = new Person();,這行代碼創(chuàng)建了一個Person 實例,也被稱為對象,這個對象被賦給了p變量.也就是說引用型變量里存放的僅僅是一個引用,它指向實際的對象.瘋狂軟件 w
4、對象的this 引用this 關鍵字總是指向調(diào)用該方法的對象. 1.構造器中引用該構造器執(zhí)行初始化的對象 2.在方法中引用調(diào)用該方法的對象在方法里的this 指誰調(diào)用就指誰注: this 不能用在有static 修飾的方法中.瘋狂軟件 方法的詳解方法的所屬性 一旦將一個方法定義在一個類里,如果用static 修飾了,這個方法屬于這個類,否則屬于這個類的對象. 方法不能獨立執(zhí)行,必須要有調(diào)用者.(如:類.方法、對象.方法) 方法不能獨立定義,只能定義在類里. 方法要么屬于一個類,要么屬于一個對象瘋狂軟件 方法的參數(shù)
5、傳遞機制傳遞方式只有一種:值傳遞.瘋狂軟件 形參長度可變的方法如果在定義方法時,在最后一個參數(shù)的類型后增加三點,則表明該形參接受多個參數(shù)值,多個參數(shù)值被當成數(shù)組傳入.長度可變的形參只能位于最后一個參數(shù),并一個方法里只能有一個可變長度的參數(shù).瘋狂軟件 遞歸遞歸就是在方法中再次調(diào)用自己。遞歸一定要向已知方向遞歸.瘋狂軟件 方法的重載Java 允許在一個類里定義多個同名方法,只要形參列表不同即可.所以方法的重載只要滿足兩個條件(兩同一不同):1.同一個類中,方法名相同;2.形參不同。和返回值類型無關.所以在調(diào)用這些方
6、法時要傳入不同的參數(shù)值.瘋狂軟件 成員變量和局部變量成員變量指的是在類范圍里定義的變量;局部變量指的是在一個方法內(nèi)定義的變量。不管是成員變量還是局部變量都遵守相同的命名規(guī)則。成員變量分為類屬性和實例屬性.對于類屬性無論通過類還是對象來訪問都是訪問同一個對象,只要一個對象改變了類屬性,那么其他對象對應的類屬性也改變了.成員變量不用顯式初始化,只要定義了一個類屬性或實例屬性,系統(tǒng)默認進行初始化。瘋狂軟件 局部變量局部變量可分為三種: 形參 方法局部變量 代碼塊局部變量.與成員變量不同的是除了形參外,其他局部變量都必須顯式地初始化,Java 里
7、允許局部變量和成員變量重名。這樣局部變量會覆蓋成員變量,這時通過this 來調(diào)用實例的屬性.瘋狂軟件 成員變量的初始化當類被加載時,類成員就在內(nèi)存中分配了一塊空間。當對象被創(chuàng)建時,實例成員就在內(nèi)存中分配了內(nèi)存空間。實例變量與實例共存亡;類變量與類本身共存亡。瘋狂軟件 局部變量的運行機制局部變量僅在方法內(nèi)有效。當方法執(zhí)行完成時,局部變量便會自動銷毀。瘋狂軟件 封裝理解封裝:封裝是面向對象的三大特征之一。封裝包含兩方面含義: 合理隱藏。 合理暴露。瘋狂軟件 使用訪問控制符private
8、私有的。在同一個類里能被訪問。default 默認的。包訪問權限protected 受保護的。子類中也能訪問public 公共的。在任何地方都可以訪問瘋狂軟件 package 和 importpackage 打包格式:package 包名;放在程序開始的頂端。包機制的兩個方面的保證。1.源文件里要使用package 語句指定包。2.class 文件必須放在對應的路徑下。import 引入包格式。分為兩種: 非靜態(tài)導入,導入的是包下所有的類。如:import package.subpackage.*; 靜態(tài)導入,導入的是類的靜態(tài)屬性。如:import static p
9、ackage.className.*;瘋狂軟件Java 的常用包java.lang.*,java.util.*, .* , java.io.*, java.text.*, java.sql.*, java.awt.*,java.swing.*.瘋狂軟件 使用構造器執(zhí)行初始化構造器最大的用處就是在創(chuàng)建對象時執(zhí)行初始化,系統(tǒng)會默認的進行初始化。如果程序員沒有Java 類提供任何構造器, 則系統(tǒng)會為這個類提供一個無參的構造器。一旦程序員提供了自定義的構造器,遇系統(tǒng)不再提供默認的構造器。瘋狂軟件 構造器
10、的重載構造器的重載和方法的重載一樣,都是方法名相同,形參列表不相同。在構造器中可通過this來調(diào)用另外一個重載的構造器。瘋狂軟件 繼承的特點Java通過關鍵字extends來實現(xiàn),實現(xiàn)繼承的類稱為子類,被繼承的類稱為基類、超類、父類。父類是大類,子類是小類。Java的繼承是單繼承,每個子類最多只有一個直接父類。瘋狂軟件 繼承子類繼承父類的語法格式如下:修飾符 class subclass extends superclass。子類擴展了父類,將可以獲得父類的全部屬性和方法,但不能獲得父類構造器Java里的繼承都是單繼承,也就是只能有一個直
11、接的父類,可以有n個間接父類。瘋狂軟件 重寫父類的方法方法的重寫要遵循“兩同兩小一大” 指的是:方法名相同,形參列表相同。返回值類型更小或相同,拋出的異常更小或相同, 訪問控制權限要更大。瘋狂軟件 父類實例的super限定通過關鍵字super 來調(diào)用父類的方法或屬性。瘋狂軟件 super調(diào)用父類的構造器子類構造器總會調(diào)用父類構造器。如果子類構造器沒有顯式使用super調(diào)用父類構造器;子類構造器默認會調(diào)用父類無參數(shù)的構造器。創(chuàng)建一個子類實例時,總會先調(diào)用最頂層父類的構造器。瘋狂軟件 多
12、態(tài)性Java 引用變量有兩個類型:一個是編譯時的類型,一個是運行時的類型,編譯時的類型由聲明該變量時使用的類型決定,運行時的類型由實際賦給該變量的對象決定。如果編譯時類型和支行時的類型不一致, 這就有可能出現(xiàn)所謂的多態(tài)。兩個相同類型的引用變量,由于它們實際引用的對象的類型不同,當它們調(diào)用同名方式時,可能呈現(xiàn)出多種行為特征,這就是多態(tài)。瘋狂軟件 引用變量的類型轉換將一個子類對像賦給父類,這就是向上轉型。向上轉型是自動的。強制類型轉換: 類型轉換運算符是小括號, 語法如下(type)variable;瘋狂軟件 instanceof運算符前一個操作通常是一個引用類型的變量,后一個操作通常是一個類(也可以是接口)。如果是返回true 否返回false。瘋狂軟件 繼承和組合使用繼承的注意點利用組合實現(xiàn)復用:總之,繼承要表達的是一種“是(is-a)”的關系,而組合表達的是”有(has-a)“的關系。瘋狂軟件 初始化塊使用初始化塊:初始化塊由大括號括起,只
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版農(nóng)村土地整治舊房買賣合同范本4篇
- 二零二五年度牛奶飲品行業(yè)標準制定與執(zhí)行合同4篇
- 2025年度品牌跨界合作與聯(lián)名推廣合同8篇
- 二零二五年度城市綠地用地使用權轉讓合同
- 二零二五年度農(nóng)藥技術支持代理銷售合同樣本
- 2025年度鐵藝圍欄出口貿(mào)易采購合同
- 二零二五年度新材料研發(fā)采購合同(中英文版)3篇
- 二零二五年度外匯市場投資培訓借款合同投資培訓
- 2025年度個人二手房買賣合同履約保證金合同
- 二零二五年度人工智能(AI)技術咨詢服務合同2篇
- 2025年上半年長沙市公安局招考警務輔助人員(500名)易考易錯模擬試題(共500題)試卷后附參考答案
- 重大事故隱患判定標準與相關事故案例培訓課件
- 2024年度節(jié)后復工建筑施工安全培訓交底
- 藥物制劑工(三級)理論試題題庫及答案
- 高強度間歇訓練(HIIT)對代謝健康的長期影響
- ICU患者導管留置登記表
- 中建商務工作指南手冊
- 耳鼻咽喉:頭頸外科疾病診斷流程與冶療策略
- 貴州省2023年中考英語真題
- 個人借條電子版模板
- 中國思想史 馬工程329P
評論
0/150
提交評論