




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一講Java和面對對象概述時間:2023年2月電子信息工程學院姜斌教材:第一章〔前三節〕學問要點本講著重介紹Java語言中的背景學問和根本概念。具體涉及:本章將簡要介紹軟件開發方法的變革面對對象程序設計中的根本概念介紹Java語言的特點及開發Java程序的根本步驟等介紹Java語言特點、與C/C++的主要差異、Java程序執行過程、Java運行環境及開發工具等根本學問。內容概述一、面對對象軟件開發方法概述二、面對對象的根本概念三、Java語言概述四、Java主要相關技術本章小結思考與練習課程前序把握或了解的概念
軟件〔Software〕軟件工程〔SoftwareEngineering〕計算機程序語言〔ProgrammingLanguage〕信息〔Information〕和數據〔Data〕計算機系統〔ComputerSystem〕數據庫系統〔DatabaseSystem〕一面對對象軟件開發方法概述60年月至80年月,早期傳統的開發方法,軟件開發方法是面對過程進開放發的;因此統稱為面對過程的開發方法代表語言:有Fortran,Pascal,C語言等軟件生產率低軟件重用程度低軟件維護艱辛軟件非用戶所需1.傳統軟件開發方法存在的問題特點:分析出解決問題所需要的步驟,然后用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。事例:五子棋1、開頭玩耍, 2、黑子先走,3、繪制畫面, 4、推斷輸贏,5、輪到白子, 6、繪制畫面,7、推斷輸贏, 8、返回步驟2,9、輸出最終結果。每一步都要走,這就是過程;然而用戶需求的是可能變化的,因此這種變化對基于過程的設計來說是災難。2.面對過程方法問題的歸因3.面對對象方法特點特點:面對對象是把構成問題事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個過程中的屬性和行為。而面對對象的設計則是從另外的思路來解決問題。對象有玩家〔Player〕,棋盤系統〔Chess〕,規章系統〔GameRule〕整個五子棋可以分為:1、黑白雙方,這兩方的行為是一模一樣的,行為有下棋,悔棋等2、棋盤系統,負責繪制畫面,3、規章系統,負責判定諸如執先手、犯規、輸贏等。4.面對對象方法特點面對對象方法〔Object-oriented〕,以對象代表問題解的中心環節,力求符合人們的思維習慣,承受“對象+消息”的程序設計模式進展時間:90年月,進展和流行代表語言:Java,C++,C#,VB.NET地位:面對對象堪稱是軟件進展取得的里程碑式的宏大成就。包括局部:面對對象分析和設計〔OOAD〕,面對對象編碼〔OOP〕,面對對象測試(OOT〕5.面對對象方法的主要優點符合人們通常的思維方式,承受“對象+消息”方式,易理解性降低或分解問題的難度和簡潔性,可重用性好日趨成熟,標準化,體系化,標準性主流開發方法,可維護性好6.面對對象的軟件開發生命周期開發一個軟件系統需要有多個環節的,整個構成一個生命周期〔SDLC〕例子:瀑布式作用:可有效和高效地進展軟件開發工作的組織,課件附有流行的一種生命周期過程附2:一種典型面對對象軟件開發過程二、面對對象的根本概念簡而言之:面對對象三元素=類+對象+消息面對對象三大特性封裝性〔encapsulation〕繼承性〔inheritance〕多態性(polymorphism)1.面對對象的根本概念2.面對對象三元素類〔class〕類描述對象的“根本原型”,是描述性的類別或模板,即對一組對象的抽象。它定義一組對象所能擁有的靜態特征和動態行為在java中分別被稱為屬性〔Attribute〕和方法〔Method〕,用以說明該組對象的力氣與性質,被編譯后的類存在于class文件中。例如,小汽車car可以被抽象成類,它描述了全部小汽車的性質,包括汽車的品牌、型號、顏色、車門數、速度,即屬性;還包括動態行為操作,如啟動、駕駛、加速、剎車等等,即方法。別稱:屬性有時在某種語境下也被稱為字段〔fields〕或變量〔variables〕方法有時在某種語境下被稱為行為〔behaviors〕,一些程序員或中文資料中還誤稱為〔函數〕。對象〔object〕對象就是現實世界中某個具體的物理實體在計算機中的映射和表達。所以一個對象把屬性和行為密封成一個整體,通過一個類作為模板可以建立多個對象,建立后的對象實例存在于內存中例如:以Car汽車類為模板,可以創立hammerCar,toyotaCar對象;這兩個對象的是獨立的個體,具有各自屬性和相應方法。newnew萬物皆對象!!!Brand:HammerType:H2Color:YellowDoor:4Drive()Brand:ToyotaType:FJ酷路澤Color:BlueDoor:2Drive()Memory消息〔message〕對象之間進展通信的一種構造叫做消息,消息傳遞是對象與其外部世界相互關聯的唯一途徑。對象可以向其他對象發出消息以懇求效勞,也可以響應其他對象傳來的消息。
張三轎車A轎車A.啟動()轎車A.駕駛轎車A.停頓3.面對對象的三大特性所謂封裝又稱為信息隱蔽(InformationHiding),是面對對象的根本特征。封裝的目的在于將使用者與設計者分別,使用者不必知道操作實現的細節,只需用設計者供給的消息來訪問對象。信息隱蔽的特點:1.在屬性值訪問上,一般屬性是私有的,供給效勞的方法是公有的。2.內部實現受疼惜,供給的功能具體實現,實現細節不能夠在對象外訪問,有時也稱為內部方法。3.面對對象的三大特性繼承是面對對象語言中的一種重要機制,該機制自動地為一個類供給來自另一個類的操作和屬性,這樣程序員只需在新類中定義已有類中沒有的屬性與〔或〕操作來建立新類。多態性是指一個名字具有多種語義,即指同一消息為不同對象所承受時,可以導致不同的操作。
除遺傳關系外,現實世界中還普遍存在著局部—整體關系。例如,飛機可由發動機、機身、機械把握系統、電子把握系統等構成。聚攏關系留意Java不支持多父繼承。交通工具汽車輪船飛機三、Java語言概述1.什么是java語言2.JDK三種平臺3.進展歷史4.語言特點…1.什么是Java*(頁1)JAVA是Sun公司開發(該公司已經于2023年被甲骨文公司收購)的一種面對對象的語言技術,通過它用戶可以快速開發跨平臺的、高效安全的單機或網絡應用程序。2.Java語言三種平臺簡介〔頁3〕Java要實現“一次寫成,多處運行”,就必需供給多個平臺J2SE---java2standardedition標準版,供給了標準的SDK開發平臺〔也稱為JDK〕,可開發低端java用于小型J2ME—java2microedition微型版,用于java的移動應用開發,適應于目前比較流行的嵌入式開發J2EE—java2enterpriseedition企業版,用于構建企業級的效勞應用,J2EE平臺包括J2SE平臺,并附加了企業級開發的類庫。3.Java語言的進展歷史(頁1)1991:JamesGosling,BillJoy等人一起從事GreenProject中、產生新的語言Oak,1994下半年:WWW快速進展,得到Sun公司的支持,通過Oak開發的HotJava掃瞄器得到關注;隨后Oak改名Java。1995:Java作為SUN公司開發工具產品,正式公布最早是1.0Java語言自1995年問世以來不斷進展,開發平臺的版本已經從早先的JDK1.0進展到JDK1.2.0,到當前廣泛應用的JDK1.5.0,以及SUN最終開發的JDK1.6.0。Java語言的每一個版本的推出,都是對自身缺乏的抑制和完善。它日益成為網絡應用的一支強有力的技術力氣。〔留意從Java1.5后,Java的版本又分成內部版本和外部版本,例如:也稱為5.0版,也稱為7.0〕具有大轉變的版本〔內部版本〕1.11.23.Java語言版本進展3.Java語言版本進展留意:2023年,由于Oracle收購了Sun公司,7.0和其他早期版本JDK,JRE下載都在Oracle的官網上,網站如下:Java〔SUN〕和.NET〔M$〕所屬系列語言是開發兩大陣營。在目前流行的B/S開發中,Java和.NET兩種開發環境是兩大陣營體系;而Java比后者具有更顯著的可移植性,跨平臺性,而且很多java工程往往是基于自由組織開發〔GNU〕協議的免費工程,可以自由地被用戶工程所引用。4.Java語言的應用前景Java虛擬機〔JVM〕—軟件虛擬的計算機,SUN公司供給各個操作系統上的Java虛擬機Java效勞器端技術---JSP/Servlet等技術為代表的效勞器5.Java語言的特點〔pg6-7〕5.Java語言的特點〔P2〕簡潔性面對對象分布式處理強健性構造中立安全性系統精簡,但功能齊備。風格類似于C++,對C++程序員而言特殊簡潔把握。Java摒棄了C++中簡潔引發程序錯誤的地方,如指針操作和內存治理;供給豐富的類庫。完全是面對對象的,它不支持類似C語言那樣的面對過程的程序設計技術。支持TCP/IP協議。Java應用程序可通過一個特定的URL來翻開并訪問對象,就像訪問本地文件系統那樣簡潔。供給面對對象的特殊處理機制,在編譯時能對Null指針檢測、數組邊界檢測、特殊出口字節代碼校驗等。自動垃圾收集來進展內存治理。將源程序編譯成一種構造中立的中間文件格式。只要有Java運行系統的機器都能執行這種中間代碼。Java語言供給的安全。編譯器供給的安全。字節碼校驗。5.Java語言的特點可移植性解釋性高性能多線程動態Java應用程序可以在配備了Java解釋器和運行環境的任何計算機系統上運行,而與體系構造無關。Java編譯器將java源文件生成類文件.class,類文件可通過java命令解釋執行,將Java字節碼轉換為機器碼。
JIT編譯器。可以提高Java代碼的執行速度。
內置多線程功能,使得在一個程序里可同時執行多個小任務。帶來的好處是更好的交互性和實時把握性。允許程序動態地裝入運行過程中所需要的類,這是C++語言進展面對對象程序設計所無法實現的。6.Java程序的執行過程首先在某個操作系統下用編輯器編寫代碼,保存源代碼〔.java〕,然后對編寫的代碼進展編譯產生字節碼文件〔.class〕編譯后的程序其執行過程為:載入:Java的類載入器負責把程序中的全部字節碼文件都加載到內存中。這些被裝入內存的字節碼文件可以保持在硬盤的當前名目下;代碼校驗:字節碼全部載入內存后,Java的代碼校驗器開頭檢查這些字節碼的合法性;解釋執行:通過了代碼校驗的二進制字節碼程序被交給解釋器逐句的解釋并運行。編譯型源程序可執行程序exe編譯連接運行操作系統Java源程序字節碼程序解釋編譯裸機二進制運行圖1.Java程序運行過程和編譯型程序運行過程比照字節碼程序二進制運行二進制二進制Linux平臺圖2.Java虛擬機和跨平臺解釋運行Unix平臺Windows平臺解釋器JVM〔虛擬機〕Java在根本類庫中,供給了大量的類以滿足網絡化、多線程、面對對象系統的需要,類庫包含有類包,例如:類包有:java.lang,java.io,,java.awt,java.util等等。7.豐富的類庫〔P4〕對于變量聲明、參數傳遞、操作符、流把握等,Java使用了和C、C++一樣的傳統,使得生疏C、C++的程序員能很便利地進展編程。同時,Java為了實現其簡潔、魯棒、安全等特性,也摒棄了C和C++中很多不合理的內容,例如多父繼承,運算符重載。8.Java和C、C++
實踐:第一個Java程序像一個Baby在世界發出第一聲叫聲一樣;我們一起做一個Java程序HelloWORLD;對它進展編輯,編譯,解釋運行工作,看看虛擬機的工作過程;IamCindy,1monthold
創立簡潔的Java程序代碼分析行1為注釋。行2定義了用戶自定義類HelloWorld。行2和行6的花括號對定義了代碼塊,其中的代碼為類HelloWorld的實現。行3定義了類HelloWorld的一個成員,即名為main的方法。main方法是使用static修飾符聲明的靜態方法,將作為程序的入口點。行3和行5的花括號對定義了代碼塊,其中的代碼為main方法的實現。行4通過調用System.out.println(“HelloWorld!“),在把握臺上輸出字符串:HelloWorld!。編譯和運行結果javacHelloWorld.java產生一個名HelloWorld.class的文件,即字節碼的類文件運行應用程序javaHelloWorld輸出結果:HelloWorld!四、Java語言相關重要概念1.Java的應用程序類型〔P3〕它適于:跨平臺/多平臺的應用程序基于Web的分布式網絡應用程序〔B/S〕基于GUI的應用程序企業級應用程序多線程應用程序關鍵任務的〔數據庫〕應用程序分布式網絡應用程序手機移動應用程序隨著技術進展,Java和其他語言各有新技術納入到體系2.Java核心概念1〕.JDK(JavaDevelopmentKit)〔P5〕即java開發環境。JDK是Sun公司開發的一個免費的Java開發工具集,供給了Java開發、運行和測試一體的環境,它包含完整的JRE2〕.JRE(JavaRuntimeEnvironment)〔P4〕即Java運行環境。JRE只是Java的運行環境,供給了Java程序運行所需要的根本類庫。留意:JRE一般是和JDK捆綁下載的,假設只需要在平臺下運行java程序的,不需要開發的,可以下載JRE的單獨版原來安裝3〕.JVM(JavaVirtualMachine)〔P4〕即Java虛擬機,它是一個軟件系統,可依據于不同操作系統下,它可以編譯,解釋并運行Java字節碼。它是Java的核心,保證了在任何異構的環境下都可以運行Java成,解決了Java跨平臺的問題。4〕.字節碼文件〔ByteCode〕與傳統的解釋型高級語言不同,Java源程序不是直接交給解釋器解釋,而是通過一個與編譯型語言相像的編譯過程,把Java源程序翻譯成一種特定的二進制字節碼文件〔擴展名為class〕,再把這個字節碼文件交給Java解釋器來解釋執行。5〕.API〔ApplicationProgrammingInterface〕是J
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廢舊輪胎處理流程的創新方法
- 線上線下結合的八年級體育教育計劃
- 中學教師企業實踐心得體會
- 學校需要做可行性研究報告
- 公益項目市場活動費用管理流程
- 2025年度醫院手術室管理計劃
- 配電房安全管理操作流程
- 急救醫學中臨床輸血流程解析
- 三年級語文下冊復習計劃與考試策略
- 電動汽車用電機及控制系統項目可行性分析報告(模板參考范文)
- 商務談判說課精課件
- 微信視頻號代運營合同范本
- 【基于近五年數據的鴻星爾克財務報表分析15000字】
- CNN 卷積神經網絡介紹
- 北大強基試題
- 把未來點亮歌詞打印版
- 四級下冊英語期末測試卷深圳版
- 健康安全危險源識別、風險評估和風險控制表
- 摩托車不過戶免責協議(2篇)
- GB 2715-2016食品安全國家標準糧食
- 第25課《活板》復習課件-部編版語文七年級下冊
評論
0/150
提交評論