




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一講面向對象程序設計第1頁,課件共40頁,創(chuàng)作于2023年2月Java工程師考試試題說明一、題型說明1、在線考試(100分)單項選擇題20題多項選擇題12題判斷題13題2、項目題(100分)二、主要考核知識點說明
java面向對象知識(類、繼承、接口、異常、線程、Applet應用程序、事件、文件、swing界面、數據庫、jsp)第2頁,課件共40頁,創(chuàng)作于2023年2月學習目標理解面向過程和面向對象區(qū)別掌握對象概念了解面向對象開發(fā)過程熟練掌握Java類的創(chuàng)建掌握類中的方法和變量的創(chuàng)建掌握創(chuàng)建對象和對象引用熟練掌握常用的基本方法,如靜態(tài)方法和最終方法掌握繼承概念掌握抽象類的使用第3頁,課件共40頁,創(chuàng)作于2023年2月1.1面向過程與面向對象現(xiàn)在,作為程序員肯定聽說過面向對象編程(OOP)這個奇妙的術語。OOP是當今軟件開發(fā)中最熱門的—種方法。面向對象編程與面向過程相比較,是一個全新的編程方式。本節(jié)就會介紹編程思路的發(fā)展和面向對象編程特點。第4頁,課件共40頁,創(chuàng)作于2023年2月例題分析純面向對象的語言有()。(3分)
A:C
B:C++
C:Java
D:Pascal屬于面向對象的語言有()。(2分)522A:CB:PascalC:JavaD:C++第5頁,課件共40頁,創(chuàng)作于2023年2月例題分析面向對象的的方法與面向過程的方法最大的不同在于()。(2分)
A:以功能為中心
B:以數據為中心
C:以功能和數據為中心
D:以事件驅動為中心第6頁,課件共40頁,創(chuàng)作于2023年2月1.2對象入門
面向對象基本概念對象(Object)一詞,早在十九世紀就有現(xiàn)象學大師胡塞爾提出并定義。對象是客觀世界中的單個物體在人們大腦里的映像,是人的意識之所以為意識的反映。對象由數據(描述事物的屬性)和作用于數據的操作(體現(xiàn)事物的行為)構成一獨立整體。從程序設計者來看,對象是一個程序模塊,從用戶來看,對象為他們提供所希望的行為。在對內的操作通常稱為方法。類是對象的模板。即類是對一組有相同數據和相同操作的對象的定義,一個類所包含的方法和數據描述一組對象的共同屬性和行為。類是在對象之上的抽象,對象則是類的具體化,是類的實例。類可有其子類,也可有其它類,形成類層次結構。第7頁,課件共40頁,創(chuàng)作于2023年2月1.2對象入門消息是對象之間進行通信的一種規(guī)格說明。一般它由三部分組成:接收消息的對象、消息名及實際變元。面向對象主要特征:封裝性繼承性多態(tài)性第8頁,課件共40頁,創(chuàng)作于2023年2月425:面向對象技術的基本要素主要有()。(2分)A:抽象性B:封裝性C:繼承性D:多態(tài)性第9頁,課件共40頁,創(chuàng)作于2023年2月1.3類在Java中,完成對功能操作封裝的單位稱為類。類是有共同特性(屬性)和操作(行為)定義的實體,類是用于組合各個對象所共有操作和屬性的一種機制。可以根據類具有的屬性和方法,賦予類不同的數值,來創(chuàng)建不同的對象實例。第10頁,課件共40頁,創(chuàng)作于2023年2月1.3.1類定義類的名稱要符合標識符的命名規(guī)則,不能為Java中的關鍵字。不能包含空格或點號“.”,可以以下劃線“_”、字母或“$”符號開頭。類的名稱的第一個單詞的第一個字母通常是大寫,第二單詞的第一個字母大寫,以此類推。526:下面合理的標識符是()。(2分)A:_sys1_lllB:2mailC:$changeD:class第11頁,課件共40頁,創(chuàng)作于2023年2月1.3.2屬性和方法在類體中,包含的是成員變量和成員方法,成員變量通常表示一個類所具有的屬性。通過聲明成員方法可以定義類的行為,行為表示一個對象能夠做的事情或者能夠從一個對象取得的信息。類的各種功能操作都是方法來實現(xiàn),屬性只不過提供了相應的數據。一個完整的方法通常包括方法名稱、方法主體、方法參數和方法返回類型。其結構如圖3-1所示:第12頁,課件共40頁,創(chuàng)作于2023年2月1.3.2屬性和方法
圖
構成方法元素第13頁,課件共40頁,創(chuàng)作于2023年2月1.3.2屬性和方法在類體中創(chuàng)建方法,其語法格式如下:<returntype><methodname>(<type1><arg1>,
<type2><arg3>,…)
{<setofstatements>}方法以是否擁有返回值,是否帶有參數,可以劃分不同的方法形式。其常用的四種形式如下:voidisN(){}voidsetN(intnum){}intgetN(){}StringgetM(inta,intb){}第14頁,課件共40頁,創(chuàng)作于2023年2月例一創(chuàng)建類StudentStringsidStringnameintage第15頁,課件共40頁,創(chuàng)作于2023年2月1.3.3訪問類使用普通的方法或者變量,不能通過類來調用,應通過對象來實現(xiàn)。變量和方法可使用圓點符號“.”和對象來訪問。方法的訪問形式如下:“obj.isN()”。obj代表一個對象名稱,isN()表示方法名稱。同樣,也可以使用“obj.ss”來訪問變量。
第16頁,課件共40頁,創(chuàng)作于2023年2月
1.3.4構造方法構造方法是類中一種特殊的方法,用來初始化該類的一個新的對象。Java中的每個類都有構造方法。如果沒有指定構造方法,則系統(tǒng)會調用默認的構造方法。默認的構造方法不帶有任何一個參數。構造方法具有和類名相同的名稱,而且不返回任何數據類型,在構造方法的實現(xiàn)中,也可以進行方法重寫。構造方法負責對象的初始化工作,為實例變量賦予合適的初始值。構造方法必須滿足以下語法規(guī)則:方法名必須與類名相同。不要聲明返回類型。不能被static、final、synchronized、abstract和native修飾。
第17頁,課件共40頁,創(chuàng)作于2023年2月
1.3.4構造方法構造方法可以分為參數化構造方法和隱式構造方法,參數化構造方法即在構造方法中帶有參數,隱式構造方法就是系統(tǒng)默認的構造方法。545:有的類定義時可以不定義構造函數,所以構造函數不是必需的。(3分)A:正確B:錯誤第18頁,課件共40頁,創(chuàng)作于2023年2月
1.4對象在Java程序中,對象可以被顯式或者隱式地創(chuàng)建。常用形式:用new語句創(chuàng)建對象
第19頁,課件共40頁,創(chuàng)作于2023年2月
例二
java類對象的使用
第20頁,課件共40頁,創(chuàng)作于2023年2月1.5基本方法在面向對象的編程中,方法是對象行為的表現(xiàn)。除了上面介紹的普通方法之外,還有其它類型的方法,如靜態(tài)方法、最終方法等。方法之間還可以重載,這極大的表現(xiàn)了Java的多態(tài)性。
第21頁,課件共40頁,創(chuàng)作于2023年2月1.5.1thisthis關鍵字是Java中常用的關鍵字,可用于任何實例方法內,指向當前對象。也可指向對其調用當前方法的對象或在需要當前類類型的對象引用時使用。第22頁,課件共40頁,創(chuàng)作于2023年2月1.5.2方法重載在Java中,同一個類中的2個或2個以上的方法可以有同一個名字,只要它們的參數聲明不同即可。在這種情況下,該方法就被稱為重載(overloaded),這個過程稱為方法重載(methodoverloading)。方法重載是Java實現(xiàn)多態(tài)性的一種方式。調用方法時通過傳遞給它們的不同個數和類型的參數來決定具體使用哪個方法,這就是多態(tài)性。如果以前從來沒有使用過一種允許方法重載的語言,這個概念有點不好理解,但方法重載是Java最激動人心和最有用的特性之一。方法重載是讓類以統(tǒng)一的方式處理不同類型數據的一種手段。第23頁,課件共40頁,創(chuàng)作于2023年2月1.5.2方法重載當一個重載方法被調用時,Java用參數的類型和(或)數量來表明實際調用的重載方法的版本。因此,每個重載方法的參數的類型或數量必須是不同的。雖然每個重載方法可以有不同的返回類型,但返回類型并不足以區(qū)分所使用的是哪個方法。當Java調用一個重載方法時,參數與調用參數匹配的方法被執(zhí)行。在使用重載要注意以下的幾點:在使用重載時只能通過不同的參數樣式。不能通過訪問權限、返回類型、拋出的異常進行重載。方法的異常類型和數目不會對重載造成影響。對于繼承來說,如果某一方法在父類中的訪問權限是priavte,那么就不能在子類對其進行重載,如果定義,也只是定義了一個新方法,而不會達到重載的效果。第24頁,課件共40頁,創(chuàng)作于2023年2月
例三
java方法重載
第25頁,課件共40頁,創(chuàng)作于2023年2月1.5.3靜態(tài)變量和方法在Java語言中,沒有實際意義上的全局變量,變量最大作用域范圍就是類。如果兩個類或多個類之間需要共享數據,單純依靠參數進行傳遞,就會花費大量的代碼去完成。實際上,我們完全可以利用Java語言的靜態(tài)變量實現(xiàn)數據的共享。在Java語言中,被static關鍵字修飾的塊、方法和變量被稱為靜態(tài)塊、靜態(tài)方法和靜態(tài)變量。類中的靜態(tài)變量、方法或代碼塊屬于類,而不屬于某個特定的對象。我們知道,在程序中任何變量或者代碼都是在編譯時由系統(tǒng)自動分配內存來存儲的,而所謂靜態(tài)成員就是在類被加載時就被分配相應的內存,故在程序運行期間就會一直存在,直到程序退出內存才會釋放這個空間,也就是只要程序在運行,那么這塊內存就會一直存在。也就是說,無論我們?yōu)樵擃悇?chuàng)建了多少個實例化對象,為靜態(tài)成員分配的內存就一直存在,任一個實例化對象都可以訪問和改變它。第26頁,課件共40頁,創(chuàng)作于2023年2月1.5.3靜態(tài)變量和方法在使用靜態(tài)方法時,應注意下面三個原則:類的靜態(tài)方法只能訪問其他的靜態(tài)成員靜態(tài)方法不能使用this和super靜態(tài)方法不能被覆蓋為非靜態(tài)方法第27頁,課件共40頁,創(chuàng)作于2023年2月1.5.3靜態(tài)變量和方法在使用靜態(tài)方法時,應注意下面三個原則:類的靜態(tài)方法只能訪問其他的靜態(tài)成員靜態(tài)方法不能使用this和super靜態(tài)方法不能被覆蓋為非靜態(tài)方法第28頁,課件共40頁,創(chuàng)作于2023年2月習題分析關于對象成員占用內存的說法()是正確的。(3分)
A:同一個類的對象共同用一段內存
B:同一個類的對象使用不同一段內存,但靜態(tài)成員共享相同的內存空間
C:對象的方法不占用內存
D:以上都不對第29頁,課件共40頁,創(chuàng)作于2023年2月1.5.4常量和最終方法final關鍵字表示對象是最終形態(tài),對象是不可改變的意思。final在應用于類、方法和變量時意義不同,但本質一樣:final表示不可改變。用在變量的前面表示變量的值不可以改變,此時該變量可以被稱為常量。用在方法的前面表示方法不可以被重寫,用在類的前面表示類不可以被繼承,即該類是最終形態(tài),只可以使用,如常見的java.lang.String類。當在類中定義變量時,如果其前面加上final關鍵字,那便是說,這個變量一旦被初始化便不可改變,這里不可改變的意思對基本類型來說是其值不可變,而對于對象變量來說其引用不可再變。其初始化可以在兩個地方,一是其定義處,也就是說在final變量定義時直接給其賦值,二是在構造函數中。這兩個地方只能選其一,要么在定義時給值,要么在構造函數中給值,不能同時既在定義時給了值,又在構造函數中給另外的值。第30頁,課件共40頁,創(chuàng)作于2023年2月1.6繼承繼承是面向對象語言的主要特征之一。繼承(Inheritance)可以使程序的整個架構具有相當的彈性,更具有層次,并提高了代碼的可重用性,并減少了設計程序的難度。在本節(jié)中,將會詳細介紹繼承的概念和使用。第31頁,課件共40頁,創(chuàng)作于2023年2月1.6.1Java中實現(xiàn)繼承繼承是類和類之間的關系呈現(xiàn)了一個層次的結構。當一個子類繼承父類的時候,此時子類就具有了父類的所有的成員,除了父類的私有成員。在Java中繼承只允許是單根繼承,一個類只能繼承一個類,不能一次性的繼承多個類。繼承類的關鍵字為extends。繼承的語法格式為:classsubClass-nameextendssuperClass-name{//bodyofclass}第32頁,課件共40頁,創(chuàng)作于2023年2月習題分析有繼承關系時用到的關鍵字是()。(2分)
A:extend
B:extends
C:implements
D:implement306:關于繼承的說法正確的是()。(2分)A:子類將繼承父類所有的屬性和方法B:子類繼承父類的非私有屬性和方法C:子類只繼承父類public方法和屬性D:子類只繼承父類的方法,而不繼承屬性第33頁,課件共40頁,創(chuàng)作于2023年2月443:由繼承性可知,程序中子類擁有的成員數目一定大于等于父類擁有的成員數目。(3分)A:正確B:錯誤第34頁,課件共40頁,創(chuàng)作于2023年2月
例四
java類的繼承
第35頁,課件共40頁,創(chuàng)作于2023年2月1.6.2方法重寫和變量隱藏當子類繼承父類時,可以擁有父類的成員方法和成員變量,這樣就可以通過子類的實例化對象,調用父類的成員變量和方法。我們知道在子類中,可以創(chuàng)建屬于子類自己的成員。如果創(chuàng)建了一個成員方法,該方法名稱和父類中某成員方法名稱相同,我們把這種情況稱為方法重寫(overidingmethod)。子類如果不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要采用方法的重寫,方法重寫又稱方法覆蓋。第36頁,課件共40頁,創(chuàng)作于2023年2月1.6.2方法重寫和變量隱藏在重寫方法時,需要遵循下面的規(guī)則:參數列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是重載。返回的類型必須與被重寫的方法返回類型相同,否則不能稱其為重寫而是重載。訪問修飾符的限制一定要大于被重寫方法的訪問修飾符(public>protected>default>private)。重寫方法一定不能拋出新的檢查異?;蛘弑缺恢貙懛椒ㄉ昝鞲訉挿旱?/p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 精簡年終述職報告
- 對供應商的管理
- 保險行業(yè)未來發(fā)展前景
- 2025年六班級班主任工作方案
- 2025年社區(qū)防汛搶險活動方案
- 畢業(yè)論文答辯結構化展示
- 2025年幼兒園母親節(jié)方案
- 山東建筑大學《第二外國語(3)》2023-2024學年第二學期期末試卷
- 北京中醫(yī)藥大學東方學院《JavaWeb程序設計實驗》2023-2024學年第二學期期末試卷
- 鄭州科技學院《英語視聽說Ⅲ》2023-2024學年第一學期期末試卷
- 慢性心功能不全的護理查房
- 車輛維修質量保證措施
- 毛中特第一章毛澤東思想及其歷史地位課件
- 浙江大學《普通化學》(第6版)筆記和課后習題(含考研真題)詳解
- 國際貿易理論與實務(天津財經大學)知到章節(jié)答案智慧樹2023年
- 教學防滅火新技術 公開課比賽一等獎
- 電磁學知到章節(jié)答案智慧樹2023年天津大學
- EIM Book 1 Unit 10 Don't give up單元知識要點
- 四年級數學下冊教案(先學后教當堂訓練)
- 改革開放與新時代智慧樹知到答案章節(jié)測試2023年同濟大學
- 敦煌的藝術智慧樹知到答案章節(jié)測試2023年
評論
0/150
提交評論