




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第4章 Java面向對象程序設計(下) 第4章 面向對象程序設計(下)ppt課件(全)本章學習目標了解基本類型包裝器了解對象的比較掌握抽象類、接口及內部類的定義和使用了解垃圾回收機制掌握創(chuàng)建jar包第4章 面向對象程序設計(下)ppt課件(全)任務1-包裝類的使用【任務內容】從命令行參數(shù)錄入Person類的姓名和年齡【能力目標】學會包裝類的應用掌握使用包裝類進行類型轉換會使用包裝類解決實際問題【任務分析】按照之前學過的知識,應用程序運行時,命令行提供的參數(shù)都是以字符串的形式存儲在main方法的args字符串數(shù)組中,而Person類中的年齡卻是以int類型存儲,那么如何將字符串類型的年齡轉變成i
2、nt類型的年齡?4.1 包裝類第4章 面向對象程序設計(下)ppt課件(全)范例:Str2IntExam.java Java語言是一個面向對象的語言,但是Java中的基本數(shù)據類型卻不是面向對象的,這在實際使用時存在很多不便,為了解決這個不足,在設計類時為每個基本數(shù)據類型設計了一個對應的類,這八個和基本數(shù)據類型對應的類統(tǒng)稱為包裝類或數(shù)據類型類。 基本類型封裝類處理的數(shù)據類型charCharacter字符型數(shù)據booleanBoolean布爾型數(shù)據byteByte字節(jié)型整數(shù)數(shù)據shortShort短整型數(shù)據intInteger整型數(shù)據longLong長整型數(shù)據floatFloat單精度型浮點數(shù)據d
3、oubleDouble雙精度型浮點數(shù)據第4章 面向對象程序設計(下)ppt課件(全)對于包裝類來說,主要包含兩種用途: 1)將字符串類型轉換為基本類型封裝類返回類型方法描述用法舉例BytebyteparseByte(String s)parseByte(String s,int r)byte bx=Byte.parseByte(“123”);byte by=Byte.parseByte(“1011”,2)ShortshortparseShort(String s)parseShort(String s,int r)short sx= Short.parseShort(“2e”,16);Inte
4、gerintparseInt(String s)parseInt(String s,int r)String s=”673”;int ix=Integer.parseInt(s);LonglongparseLong(String s)parseLong(String s,int r)long lx=Long.parseLong(“23427”,8);FloatfloatparseFloat(String s)float fx=Float.parseFloat(“382.872”);DoubledoubleparseDouble(String s)double dx=Double.parseDo
5、uble(“82.382”);第4章 面向對象程序設計(下)ppt課件(全) 2)封裝基本類型,將基本類型當做對象類型用。方法如下:包裝類型 對象 = new 包裝類型(基本類型); 包裝類型 對象 = 基本類型;包裝類型 對象 = new 包裝類型(“基本類型”);例如:Integer value1 = new Integer(30);Integer value2 = new Integer(“70”);Integer value3 = value1 + value2;/通過intValue()方法提取包裝類的值System.out.println(Value();第4章
6、 面向對象程序設計(下)ppt課件(全)任務2-比較兩個對象是否相等【任務內容】比較公司的兩個員工是否相同【能力目標】了解兩個對象之間如何進行相等比較掌握用equals比較兩個對象了解=運算符與equals比較對象相等的差異學會運用對象相等比較解決實際問題【任務分析】公司雇員在程序中是以對象類型存儲。然而對象是復合數(shù)據類型,那么如何才能比較兩個對象是否相等。4.2 比較對象第4章 面向對象程序設計(下)ppt課件(全)范例:Employee.java 1. “=”運算符比較對象相等 Java中,對象屬于引用類型,對象實體存儲在堆存儲區(qū)中,對象變量位于棧存儲區(qū)當中,變量中存儲了對象實體在堆內存中
7、的地址,“=”運算符只能比較對象變量中存儲的地址是否相同而不能比較兩個對象實體的內容是否相同。2. equals()方法比較對象相等 equals方法是用來比較兩個對象的內容是否相等,也就是判斷兩個對象間各個屬性的值是否相同,equals方法是在Object中定義的。在Object類中,這個方法將判斷兩個對象是否具有相同的引用。如果兩個對象具有相同的引用,它們一定是相等的。對于多數(shù)類來說,這種判斷并沒有什么意義。所以開發(fā)人員應當在自己的類當中重新實現(xiàn)該方法。 第4章 面向對象程序設計(下)ppt課件(全)任務3-抽象類【任務內容】設計工人模塊和學生模塊,兩個模塊都有說話方法,說話的內容要由工人
8、或學生決定,同時這兩個模塊應共屬同一類型人。【能力目標】了解抽象類的概念掌握抽象類的定義學會運用抽象類解決實際問題【任務分析】該案例需要設計兩個模塊,即工人模塊和學生模塊,這兩個模塊既有相似之處,也有不同之處,為了最大限度的實現(xiàn)代碼復用,需要設計一個公共父類,包含有兩個模塊的公共方法,而兩個模塊只需要實現(xiàn)各自不同的行為即可。然而兩個模塊均有一公共方法,即說話的方法say(),需要在父類中定義,但具體說話內容兩個模塊卻各有不同。現(xiàn)在引入一個問題,如果say()方法定義于父類,父類say()方法具體實現(xiàn)就沒有了意義。4.3 抽象類與接口第4章 面向對象程序設計(下)ppt課件(全)范例:Abstr
9、actClassExam.java抽象類:就是不能使用new關鍵字進行實例化的類,即沒有具體實例對象的類。抽象類通常不具備實際功能,不能創(chuàng)建對象,只作為專門用來派生其他子類的基類。定義抽象類的目的是為子類提供公共信息與接口。 抽象方法:是一種不完整的方法,它只包含有方法聲明,而無方法體的定義,因而抽象方法是只有方法原型而無功能實現(xiàn)的一種行為規(guī)范,用來為所在類的子類聲明方法的接口標準。第4章 面向對象程序設計(下)ppt課件(全)當聲明類為抽象類時,需要在這個類前加修飾abstract抽象類通常包含若干個(可為零個)抽象方法;但不能在非抽象類中聲明抽象方法抽象類不能創(chuàng)建對象,創(chuàng)建對象的工作由抽象
10、類派生的非抽象子類來實現(xiàn)33343132抽象類可以包含非抽象類所能包含的任何元素,這些要素包含具體的屬性、非抽象方法以及多個重載的構造方法關于抽象類的說明第4章 面向對象程序設計(下)ppt課件(全)抽象類中不可包含抽象構造方法或抽象靜態(tài)方法抽象類中可以沒有抽象方法,有抽象方法的類一定是抽象類若一個類中包含了至少一個抽象方法,則該類必須被聲明為抽象類;但聲明為抽象類的類不一定要包含抽象方法抽象類必須被子類繼承,并由子類實現(xiàn)它的所有抽象方法沒有所謂的最終抽象類,即抽象類不能再用final修飾類聲明3536373839關于抽象類的說明(續(xù))第4章 面向對象程序設計(下)ppt課件(全)不能創(chuàng)建ab
11、stract類的實例。然而可以創(chuàng)建一個引用型變量,其類型為一個抽象類,并讓它指向非抽象子類的一個實例抽象類中不能定義private類型的成員變量和成員方法若一個子類繼承了一個抽象類,該子類沒有實現(xiàn)抽象類中定義的每一個抽象方法,則該類仍然為抽象類,必須在它的類定義語句中加上abstract抽象修飾符。直到某個子類實現(xiàn)了它所有祖先類聲明的抽象方法,該類才不再是抽象類,才能夠生成實例對象310311312關于抽象類的說明(續(xù))第4章 面向對象程序設計(下)ppt課件(全)抽象類的意義 3533343132抽象類實現(xiàn)自然界的抽象概念,體現(xiàn)數(shù)據抽象的思想,是實現(xiàn)程序多態(tài)性的一種手段抽象類是類層次中較高層
12、次的概括,抽象類能讓其子類繼承它的抽象化的特征抽象類從更高級別上描述概念性的內容,抽象類中可以包括被其所有子類共享的公共屬性與公共行為,有利于對所要解決問題的概念層次關系的組織與設計抽象類提供了可由其子類共享的一般形式,能夠更好地統(tǒng)一用戶接口抽象類是其所有子類公共屬性的集合,可以充分利用這些公共屬性來提高程序開發(fā)和維護的效率 AbstractClassDemo.java第4章 面向對象程序設計(下)ppt課件(全)任務4-接口 【任務內容】設計一塊電腦主板支持各種PCI設備擴展卡【能力目標】了解接口的作用掌握接口的定義學會運用接口解決實際問題【任務分析】當主板廠商設計一塊電腦主板時需要考慮到如
13、何讓主板支持各種各樣的擴展卡來增強電腦的功能,如顯卡、打印卡、聲卡、網卡等等。那么廠商是如何設計電腦主板的?4.3 抽象類與接口第4章 面向對象程序設計(下)ppt課件(全)范例:Computer .javaJava編程語言中禁止多繼承屬性,但可以通過接口來幫助類擴展方法。接口中可以定義大量的常量和方法,但其中的方法只是一種簽名,沒有具體的實現(xiàn) 。第4章 面向對象程序設計(下)ppt課件(全)接口的定義定義接口要使用interface關鍵字。接口的定義包括接口頭部聲明與接口體定義兩部分。接口定義的格式為: /接口頭部聲明接口修飾符 interface extends 第4章 面向對象程序設計(
14、下)ppt課件(全)接口的定義(續(xù))/接口體定義/常量數(shù)據成員聲明public static final =;/抽象方法聲明public abstract native ()throws ;第4章 面向對象程序設計(下)ppt課件(全)修飾符 class implements 。/類的成員要素定義 接口的實現(xiàn)第4章 面向對象程序設計(下)ppt課件(全)接口的實現(xiàn)33343132實現(xiàn)接口的聲明位置要在類定義的頭部聲明中,implements關鍵字表明一個類要實現(xiàn)的接口列表 一個類可以實現(xiàn)一個接口,也可同時實現(xiàn)多個接口,對于包含多個接口的接口名列表,各接口名字之間用逗號分開實現(xiàn)接口的類可以使用接
15、口中定義的所有常量 如果實現(xiàn)接口的類是抽象類,它可以不實現(xiàn)接口中定義的所有抽象方法第4章 面向對象程序設計(下)ppt課件(全)接口的實現(xiàn)(續(xù))35363738如果實現(xiàn)接口的類不是抽象類,則在類體中必須實現(xiàn)接口的所有抽象方法,為所有抽象方法定義方法體類在實現(xiàn)接口的抽象方法時,必須使用完全一致的方法原型 接口的抽象方法的訪問修飾符只能為public,這就決定了實現(xiàn)接口的類在實現(xiàn)接口方法時,必須顯式地使用public修飾符,而不能使用其他限制更為嚴格的訪問修飾符(如protected等),否則將被系統(tǒng)警告為縮小了接口定義方法的訪問控制范圍子類可以直接繼承使用接口基類中的各種方法,并能夠超越(抑制)
16、或重載它們 第4章 面向對象程序設計(下)ppt課件(全)接口類型與接口變量接口可以作為一種引用數(shù)據類型來使用,稱這種引用數(shù)據類型為接口類型??梢远x接口類型的引用變量,該引用變量被稱為接口變量。接口變量可以用作方法的形參,也可以作為全局變量或局部變量來使用。Java中,還可以聲明接口類型的數(shù)組。Java中,允許用接口變量來引用實現(xiàn)接口的類對象或子類對象。例 :InterfaceDemo.java 第4章 面向對象程序設計(下)ppt課件(全)接口與抽象類的區(qū)別與聯(lián)系 第4章 面向對象程序設計(下)ppt課件(全)任務5-內部類應用【任務內容】 設計一個集合類,可以注冊元素刪除、添加事件【能力
17、目標】了解內部類掌握內部類的語法及應用學會用內部類解決實際問題【任務分析】本案例要求設計一個用于存儲Object類型對象的集合,并且在集合上刪除和增加元素時觸發(fā)添加和刪除操作的事件。事件處理器由用戶動態(tài)添加和刪除,且事件處理器的類型已經在集合內部定義好,用戶只需要繼承該處理器從而設計出符合實際需求的事件處理器。4.4 內部類第4章 面向對象程序設計(下)ppt課件(全)范例:InnerClassExam.java內部類就是把一個類的聲明放在另外一個類的內部,作為其成員存在。內部類是一種非常有用的特性,因為它允許你把一些邏輯相關的類組織在一起,并控制在內部的類的可視性。內部類可以任意訪問所在類內
18、部的成員而不受訪問限定的影響。類內部的類可以是靜態(tài)的,也可以是非靜態(tài)的 :第4章 面向對象程序設計(下)ppt課件(全)靜態(tài)內部類定義語法如下 :class 外部類類成員public static class 內部類內部類成員靜態(tài)內部類實例化對象的語法:外部類.內部類 內部類對象 = new 外部類.內部類();第4章 面向對象程序設計(下)ppt課件(全)靜態(tài)內部類定義有如下約束:靜態(tài)成員類不能與外部類重名不能直接訪問外部類的實例字段和實例方法不能定義于外部類的某個函數(shù)中第4章 面向對象程序設計(下)ppt課件(全)非靜態(tài)內部類定義語法如下:class 外部類類成員public class
19、內部類內部類成員 外部類 外部類對象 = new 外部類();外部類.內部類 內部類對象 = 外部類對象.new 內部類();第4章 面向對象程序設計(下)ppt課件(全)非靜態(tài)內部類定義有如下約束: 1)成員類不能與外部類重名 2)不能在成員類中定義static字段、方法和類(static final形式的常量定義除外)。 3)成員類不能是接口第4章 面向對象程序設計(下)ppt課件(全)任務6-垃圾回收【任務內容】配置文件類對象在銷毀時關閉文件讀寫流【能力目標】了解垃圾回收機制【任務分析】許多大型應用程序的運行特性都需要靠配置文件進行配置,系統(tǒng)中往往會存在一個專門解析配置文件的類,該類或許
20、會產生一個文件IO流與配置文件綁定,在配置類對象銷毀時,同時也應當關閉與配置文件綁定的IO流。那么,何時斷開這種IO綁定是一個比較難以抉擇的問題。4.5 對象的垃圾回收機制第4章 面向對象程序設計(下)ppt課件(全)范例:ObjectGCExam.java GC即垃圾回收機制是指JVM用于釋放那些不再使用的對象所占用的內存。Java語言并不要求JVM有GC,也沒有規(guī)定GC如何工作。不過常用的JVM都有GC,而且大多數(shù)GC都使用類似的算法管理內存和執(zhí)行收集操作。 第4章 面向對象程序設計(下)ppt課件(全)任務7-用jar文件發(fā)布應用程序【任務內容】將項目1中的案例應用程序打包成可運行jar
21、包【能力目標】了解Jar打包工具的使用了解如何發(fā)布Java應用程序了解如何運行Jar程序【任務分析】java應用程序中的每一個類都會產生一個class文件,當程序的規(guī)模非常龐大時,類文件數(shù)量是相當多的。然而如何便捷的管理和發(fā)布這些類文件是一件頭疼的事情。JavaSDK中提供了專門用于打包java程序類文件的工具jar應用程序。Jar應用程序可以將所有類文件和相關資源打包成一個以.jar結尾的單一文件,便于發(fā)布和傳播java程序。Jar命令也可打包具備可執(zhí)行能力的jar包。我們可以用jar命令將前幾節(jié)編寫的程 4.6 使用jar文件第4章 面向對象程序設計(下)ppt課件(全)1.將所有的class文件和相關資源文件統(tǒng)一放在指定文件夾CMyApp下c:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 抹灰班勞務承包合同
- 房屋多人股權轉讓協(xié)議
- 攀枝花防腐木崗亭施工方案
- 自建房樓板加固施工方案
- 《高品質住宅建設標準》編制說明
- 五系專車專用后杠施工方案
- 鋁合金桁架腳手架施工方案
- 對開原地區(qū)玉米螟發(fā)生原因及綠色防控對策的研究分析
- 湖北省宜昌市興山縣一中2024-2025學年高三下學期入學檢測語文試題(原卷版+解析版)
- 碳排放交易與碳市場機制的策略及實施路徑
- 醫(yī)院財務知識培訓
- 綠植花卉租賃合同
- 電子教案-《3D打印技術概論》
- JBT 11699-2013 高處作業(yè)吊籃安裝、拆卸、使用技術規(guī)程
- 2024年全國版圖知識競賽(小學組)考試題庫大全(含答案)
- 2024年北京控股集團有限公司招聘筆試參考題庫含答案解析
- DB32T 4353-2022 房屋建筑和市政基礎設施工程檔案資料管理規(guī)程
- [合同協(xié)議]車輛掛靠協(xié)議書
- MT_T 1175-2019 輸送瓦斯用鋼管_(高清版)
- 鐵路選線設計之斷鏈
- 電子商務基礎與實務PPT課件
評論
0/150
提交評論