




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java 簡(jiǎn)介教學(xué)目標(biāo)了解Java語(yǔ)言的特點(diǎn)理解Java程序類型理解并掌握J(rèn)ava運(yùn)行環(huán)境學(xué)習(xí)Java開發(fā)環(huán)境的搭建并了解JDK的常用工具包。初識(shí)Java程序,了解Java運(yùn)行原理。Java之父出生于加拿大,取名James天文系臨時(shí)程序員在IBM設(shè)計(jì)第一代工作站自制游戲機(jī),偷學(xué)編程硅谷大會(huì)帶動(dòng)Java浪潮開發(fā)了Sun News窗口系統(tǒng)“綠色計(jì)劃”與Oak,更名為JavaOakJAVA版本分類Java特點(diǎn)特點(diǎn)Java 的特點(diǎn):Java是 一 種 簡(jiǎn) 單 的 面 象 對(duì) 象 的 分布 式 的 解 釋 的 健 壯 的 安 全 的 結(jié) 構(gòu) 中 立 的 可 移 植 的 性 能 很優(yōu) 異 的 多 線 程
2、的 動(dòng) 態(tài) 的 語(yǔ) 言。簡(jiǎn)單性- Java 設(shè)計(jì)人員刪除了C+ 中許多復(fù)雜的功能,如指針操縱和運(yùn)算符重載等面向?qū)ο? 在 Java 中任何東西都是對(duì)象。因此,重點(diǎn)集中在數(shù)據(jù)、應(yīng)用程序中操作 對(duì)象的方法以及過程上分布式- Java 可用于開發(fā)能夠在多個(gè)平臺(tái)、操作系統(tǒng)和圖形用戶界面之間移植的應(yīng)用程序解釋性-java解釋器可以在任何移植了java解釋器的機(jī)器上執(zhí)行Java字節(jié)碼健壯性- Java 在編譯和解釋時(shí)都會(huì)檢查代碼安全性- Java 提供了用于執(zhí)行程序的受控環(huán)境,以及多層次的安全控制結(jié)構(gòu)中立-java編譯器通過生成與特定計(jì)算機(jī)體系結(jié)構(gòu)無關(guān)的字節(jié)碼指令來實(shí)現(xiàn)多線程- Java 程序使用稱為“多
3、線程”的進(jìn)程同時(shí)處理多項(xiàng)任務(wù)高性能、可移植、 動(dòng)態(tài)性搭建開發(fā)環(huán)境SUN官方網(wǎng)站/javase/downloads/index.jsp 安裝Java JDK安裝過程雙擊安裝包選擇安裝目錄選擇安裝組件結(jié)束安裝了解JDK了解JDK安裝目錄 :bin目錄:存放可執(zhí)行文件;lib目錄:存放Java的類庫(kù)文件;include目錄:存放用于本地方法的文件; demo目錄:存放演示程序;jre目錄:存放Java運(yùn)行環(huán)境文件; Java DocumentationJava文檔涵蓋整個(gè)Java平臺(tái),為開發(fā)者提供便利,以HTML形式展現(xiàn)。Bin目錄javac文件。Javac文件是Java語(yǔ)言的編譯器。java文件。
4、Java文件是java語(yǔ)言的解釋器 。appletviewer文件。Appletviewer文件是Java Applet的解釋器。jar文件。Jar文件是java語(yǔ)言壓縮工具。配置環(huán)境變量單擊右鍵選擇高級(jí)選擇環(huán)境變量選擇高級(jí)選擇編輯添加路徑Java虛擬機(jī)可運(yùn)行Java字節(jié)碼的虛擬計(jì)算機(jī)系統(tǒng) 它有一個(gè)解釋器組件,可以實(shí)現(xiàn)Java字節(jié)碼和計(jì)算機(jī)操作系統(tǒng)之間的通信用戶USER字節(jié)碼程序JVM (Java 虛擬機(jī))操作系統(tǒng)硬 件Java虛擬機(jī)的運(yùn)行過程編譯時(shí).java(源代碼).class(字節(jié)碼)運(yùn)行時(shí)解釋器硬件網(wǎng)絡(luò)字節(jié)碼校驗(yàn)器類加載器JIT代碼生成器保存文件在保存文件時(shí),文件名要與程序中的publ
5、ic class的類名一致,這里應(yīng)為HelloWorld.java。文件名的大小寫最好也要保持與類名一致 開發(fā)Java程序的步驟創(chuàng)建Java源程序Java源程序一般用java作為擴(kuò)展名,是一個(gè)文本文 件,用Java語(yǔ)言寫成,可以用任何文本編輯器創(chuàng)建 與編輯;編譯源程序Java編譯器,“javac”,讀取你的Java源程序并翻譯 成Java虛擬機(jī)能夠明白的指令集合,且以字節(jié)碼的 形式保存在文件中。通常,字節(jié)碼文件以class作為 擴(kuò)展名;運(yùn)行class(字節(jié)碼)文件Java解釋器讀取字節(jié)碼,取出指令并且翻譯成計(jì)算 機(jī)能執(zhí)行的代碼,完成運(yùn)行過程;Java 程序運(yùn)行原理 HelloWorld.jav
6、aHelloWorld.class(010101100010. .)Native code本地代碼(010101100010. .)Java源代碼Java字節(jié)碼(byte code)本地代碼javac.exe Java編譯器java.exe Java解釋器Java 平臺(tái)無關(guān)性 *.java源代碼*.class字節(jié)碼Javac.exeJVMWindows平臺(tái)JVMLinux平臺(tái)JVMUnix平臺(tái)Java.exe編譯時(shí)運(yùn)行時(shí)Java 半編譯半解釋 *.java*.class編譯裝載檢驗(yàn)字節(jié)碼解釋運(yùn)行硬件Javac運(yùn)行Class world關(guān)鍵字class聲明了類的定義 HelloWorld是描述類
7、名的標(biāo)識(shí)符 整個(gè)類的定義包括其所有成員都是在一對(duì)大括號(hào)中(即 之間)定義完成的,這標(biāo)志著類定義塊的開始和結(jié)束 Main()這是一個(gè)main()方法,程序從這里開始執(zhí)行 所有的Java應(yīng)用程序都必須有一個(gè)main()方法main()方法是所有Java應(yīng)用程序的起始點(diǎn) 注意:Java是區(qū)分大小寫的,所以main與Main不同 static &public&void關(guān)鍵字public是一個(gè)訪問修飾符,它控制類成員的可見度和作用域關(guān)鍵字void告訴編譯器在執(zhí)行此main()方法時(shí),它不會(huì)返回任何值 關(guān)鍵字static允許調(diào)用main()方法,而無需創(chuàng)建類的實(shí)例 String args String a
8、rgs是傳遞給main()方法的參數(shù) Args是String類型的數(shù)組 String類型的對(duì)象存儲(chǔ)字符串 Println&system&outPrint()方法在屏幕上輸出以參數(shù)方法式傳遞給它的字符串 System是一個(gè)預(yù)定義的類,它提供對(duì)系統(tǒng)類的訪問 out是連接到控制臺(tái)的輸出流 Java 編碼慣例-1包名package banking.domain;類名class SavingsAccount接口名interface Account方法名balanceAccount()變量名currentCustomer常量名HEAD_COUNTMAXIMUM_SIZEJava 編碼慣例-2縮進(jìn)規(guī)則使用注
9、釋-說明類/屬性/方法的功能,參數(shù)的作用運(yùn)算符與運(yùn)算數(shù)間用空格間隔總結(jié)Java環(huán)境搭建Java運(yùn)行原理Java的程序結(jié)構(gòu) 數(shù)據(jù)類型 運(yùn)算符 控制流程語(yǔ)句 數(shù)組 方法Java語(yǔ)言基礎(chǔ)主要內(nèi)容理解Java程序的基本結(jié)構(gòu)理解數(shù)據(jù)類型掌握運(yùn)算符運(yùn)用控制流語(yǔ)句掌握數(shù)組掌握方法標(biāo)識(shí)符、關(guān)鍵字、常量、變量標(biāo)識(shí)符變量,函數(shù),類,對(duì)象的名稱都是標(biāo)識(shí)符,以字符或”_”,”$”開頭 , 長(zhǎng)度無限制的。 關(guān)鍵字49個(gè)關(guān)鍵字 常量-程序在運(yùn)行期間不能改變的量 普通常量(常數(shù)) -true,false ,12,43.35,你好!” 標(biāo)識(shí)符常量(常值變量) -final關(guān)鍵字定義 變量(轉(zhuǎn)下一頁(yè))格式:type varNa
10、me,varName2;定義變量varName type varName=value; 定義變量varName,并賦值value 標(biāo)識(shí)符、關(guān)鍵字、常量、變量規(guī)則和慣例使用一個(gè)變量之前要對(duì)變量的類型加以聲明一個(gè)變量的聲明就是一條完整的Java語(yǔ)句,所以在結(jié)尾使用分號(hào)變量必須以一個(gè)字母開頭變量名區(qū)分大小寫變量名的長(zhǎng)度基本沒有限制變量名不能使用Java的關(guān)鍵字可在一條語(yǔ)句中進(jìn)行多個(gè)變量的聲明,不同變量之間用逗號(hào)分隔注釋三種注釋方法:1:多行注釋/* */ 2:單行注釋以/開始3:文檔注釋/* */目的: 允許程序員加入備注 ,對(duì)程序做相關(guān)解釋強(qiáng)烈建議給給程序加注釋Java 語(yǔ)言的基礎(chǔ)知識(shí)數(shù)據(jù)類型變量
11、運(yùn)算符控制流語(yǔ)句Java 塊變量是存儲(chǔ)數(shù)據(jù)的基本單元 。數(shù)據(jù)類型確定要存儲(chǔ)在內(nèi)存中的數(shù)據(jù)的類型。運(yùn)算符是一個(gè)符號(hào),用于操作一個(gè)或多個(gè)參數(shù)以得出結(jié)果。程序是按順序執(zhí)行的??刂屏髡Z(yǔ)句允許改變此順序。數(shù)據(jù)類型基本(簡(jiǎn)單)數(shù)據(jù)類型booleanchar 整數(shù)類型byteshortintlong浮點(diǎn)類型floatdouble引用(復(fù)合)數(shù)據(jù)類型classinterface數(shù)組數(shù)據(jù)轉(zhuǎn)換類型自動(dòng)類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換將一種類型的變量賦給另 一種類型的變量時(shí),只要 滿足以下條件,就會(huì)發(fā)生 自動(dòng)類型轉(zhuǎn)換:兩種類型兼容;目標(biāo)類型大于源類型;byte-short-int-long-float-double強(qiáng)制轉(zhuǎn)換用于
12、顯式類型 轉(zhuǎn)換。如果被轉(zhuǎn)換的值 的數(shù)據(jù)類型大于其目標(biāo) 類型,就會(huì)丟失部分信 息 類型強(qiáng)制轉(zhuǎn)換使程序?qū)⒆兞恳暈槟撤N類型,盡管此變量中包含的是另一類型的數(shù)據(jù) 由高-低 示例: float c = 34.89675f; int b = (int) c + 10;/ 將 c 轉(zhuǎn)換為整型類型提升規(guī)則兩種類型兼容;目標(biāo)類型大于源類型; 例如: byte、char和 short 型值可提升為 int 型對(duì)于表達(dá)式如果一個(gè)操作數(shù)為 long 型,則整個(gè)表達(dá)式提升為 long 型如果一個(gè)操作數(shù)為 float 型,則整個(gè)表達(dá)式提升為 float 型如果一個(gè)操作數(shù)為 double 型,則整個(gè)表達(dá)式提升為 doubl
13、e 型運(yùn)算符運(yùn)算符描述示例算術(shù)運(yùn)算符算術(shù)運(yùn)算符使用數(shù)字操作數(shù)。這些運(yùn)算符主要用于數(shù)學(xué)計(jì)算+, -, *, % 等關(guān)系運(yùn)算符關(guān)系運(yùn)算符用于測(cè)試兩個(gè)操作數(shù)之間的關(guān)系。使用關(guān)系運(yùn)算符的表達(dá)式的結(jié)果為 boolean 型=, =, 、=、=、= 和 != 5. 邏輯運(yùn)算符,如 &、|、&、| 6.條件運(yùn)算符和賦值運(yùn)算符,如 ? :、=、*=、/=、+= 和 -= 控制流語(yǔ)句語(yǔ)句:Java的每條語(yǔ)句以分號(hào)(;)結(jié)束,語(yǔ)句可以是單一的一條,也可以是用括起來的語(yǔ)句塊(復(fù)合語(yǔ)句)。 塊作用域塊定義著變量的作用域。一個(gè)塊可以嵌套另一個(gè)塊。不允許在兩個(gè)嵌套的塊內(nèi)聲明兩個(gè)完全相同的變量分支語(yǔ)句:根據(jù)條件值和表達(dá)式的
14、值選擇執(zhí)行不同的序列,而跳過某些語(yǔ)句不執(zhí)行。條件語(yǔ)句:if(布爾表達(dá)式)else多重分支: switch(整型表達(dá)式)case :常數(shù) break;例子:SwitchDemo.java循環(huán)語(yǔ)句:反復(fù)執(zhí)行一段代碼,直到滿足終止循環(huán)條件為止。一個(gè)循環(huán)應(yīng)包括如下部分:循環(huán)的初始化,程序循環(huán)體,迭代部分,終止部分for(初始表達(dá)式;條件表達(dá)式;增量表達(dá)式)三個(gè)表達(dá)式的任意一個(gè)都可以為空或者三個(gè)都為空。此應(yīng)用最多,多用于確定次數(shù)的循環(huán)。While(布爾表達(dá)式) 多用于事先不知道循環(huán)次數(shù)的情況. 先判斷,后執(zhí)行do while(布爾表達(dá)式); 適用情況同上,不常用。先執(zhí)行,后判斷控制流語(yǔ)句轉(zhuǎn)移語(yǔ)句brea
15、k在switch語(yǔ)句中,break語(yǔ)句用來終止switch語(yǔ)句的執(zhí)行在循環(huán)語(yǔ)句中,break語(yǔ)句用來退出循環(huán),如出現(xiàn)在內(nèi)層循環(huán),只是距離當(dāng)前層與label語(yǔ)句結(jié)合,使程序從label語(yǔ)句標(biāo)明的代碼塊處開始執(zhí)行。例:BreakDemo.javacontinue使程序跳過循環(huán)體中隨后的語(yǔ)句,直接跳到循環(huán)體的頭部開始新的循環(huán)格式:continue label; 例子:ContinueDemo.javareturn 格式: return 表達(dá)式 ; 當(dāng)被調(diào)用方法有返回值時(shí),返回一個(gè)值給調(diào)用者。返回值與返回類型要一致。注釋語(yǔ)句/ 單行注釋/*.*/ 多行注釋/* .*/ 文檔注釋數(shù)組數(shù)組:是各數(shù)據(jù)類型構(gòu)
16、造的數(shù)據(jù)序列,數(shù)組的每個(gè)元素具有相同的數(shù)據(jù)類型,可以通過一個(gè)統(tǒng)一的數(shù)組名和下標(biāo)惟一確定數(shù)組中的元素。屬于復(fù)雜數(shù)據(jù)類型數(shù)組是固定的不能擴(kuò)展可以存儲(chǔ)基本數(shù)據(jù)類型或?qū)ο笸ㄟ^數(shù)組名和下標(biāo)可以訪問各元素,下標(biāo)從0開始數(shù)組的聲明(一維)數(shù)組的聲明包括數(shù)組名和所包含的元素類型通用的一維數(shù)組的聲明格式是:數(shù)據(jù)類型數(shù)組名; 或數(shù)據(jù)類型 數(shù)組名;舉例: int array_int ; String str;注意:可以存儲(chǔ)基本數(shù)據(jù)類型或?qū)ο?接口聲明中不用寫元素個(gè)數(shù)數(shù)組名符合標(biāo)示符規(guī)定創(chuàng)建數(shù)組創(chuàng)建數(shù)組:利用new 來為數(shù)組型變量分配內(nèi)存空間格式:數(shù)組名=new 數(shù)組元素類型元素個(gè)數(shù)舉例: array_int=new
17、 int10;注意:必須分配內(nèi)存后才能使用數(shù)組兩步可以合并,如: String str=new String10;數(shù)組初始化可以在聲明數(shù)組時(shí)給數(shù)組元素一個(gè)初始值舉例: int array_int=1,2,3,4,5,6; String str=“we”,”are”,good”;注意:創(chuàng)建數(shù)組后,系統(tǒng)會(huì)給每個(gè)元素一個(gè)默認(rèn)值可以不指定數(shù)組大小對(duì)象數(shù)組的初始化,如: people peo=new people(),new people();數(shù)組元素的使用通過下標(biāo)訪問數(shù)組元素,而不能只通過數(shù)組名訪問整個(gè)數(shù)組舉例: array_int0=1;注意:下標(biāo)的起始位置為0,若越界將產(chǎn)生異常用數(shù)組的屬性leng
18、th可得數(shù)組的長(zhǎng)度,如a.length一維數(shù)組小結(jié)可以使用以下三種方式聲明數(shù)組(一維):數(shù)據(jù)類型 標(biāo)識(shí)符 ; /僅聲明數(shù)據(jù)類型 標(biāo)識(shí)符 = new 數(shù)據(jù)類型大小; /聲明和創(chuàng)建數(shù)據(jù)類型 標(biāo)識(shí)符 = 值 1,值 2,值 N ;/聲明,創(chuàng)建和初始化通過下標(biāo)訪問數(shù)組元素,而不能只通過數(shù)組名訪問整個(gè)數(shù)組:numbers.lengthnumbers0聲明數(shù)組(二維)通用的二維數(shù)組的聲明格式是: 元素類型 數(shù)組名; 或 元素類型 數(shù)組名;舉例: float a; people peo注意:理解為數(shù)組的數(shù)組總結(jié)Java 中的數(shù)據(jù)類型分為兩種:原始數(shù)據(jù)類型和引用數(shù)據(jù)類型變量是存儲(chǔ)數(shù)據(jù)的基本單元數(shù)組用于將相同數(shù)
19、據(jù)類型的多項(xiàng)數(shù)據(jù)存儲(chǔ)在連續(xù)的內(nèi)存單元中Java 提供各種類型的運(yùn)算符Java 支持用作控制語(yǔ)句的各種編程結(jié)構(gòu)面向?qū)ο缶幊?面向?qū)ο缶幊倘绾螌W(xué)好Java如何寫類及創(chuàng)建對(duì)象面向?qū)ο缶幊堂嫦蜻^程與面向?qū)ο竺嫦驅(qū)ο蟮幕靖拍铑悺?duì)象、成員數(shù)據(jù)、成員方法、繼承、接口面向?qū)ο缶幊痰奶卣鞒橄蠓庋b繼承多態(tài)返回如何學(xué)好Java只關(guān)心類和對(duì)象養(yǎng)成好的書寫風(fēng)格和命名慣例養(yǎng)成查找API的習(xí)慣網(wǎng)絡(luò)資料/ / 返回如何寫類及創(chuàng)建對(duì)象類的聲明成員數(shù)據(jù)成員方法構(gòu)造方法類的實(shí)例化-對(duì)象返回封裝一個(gè)學(xué)生信息,包括學(xué)生的Id,姓名,年齡,住址,聯(lián)系電話。類的聲明類是Java語(yǔ)言編程的基本元素,一類定義了一個(gè)對(duì)象的結(jié)構(gòu)和它的功能接口
20、類是設(shè)計(jì)對(duì)象的藍(lán)圖,它描述了將要產(chǎn)生的對(duì)象的特征和行為類的命名規(guī)范格式:修飾符 class 類名成員數(shù)據(jù)(變量);成員方法(函數(shù))修飾符:public, final/abstract返回類的命名規(guī)范類名應(yīng)該有意義類名應(yīng)該是名詞類名的首字母應(yīng)該大寫若兩個(gè)單詞,每一單詞的首字母都大寫返回成員數(shù)據(jù)(變量)表明對(duì)象的狀態(tài),也稱為實(shí)例變量定義的格式:修飾符 數(shù)據(jù)類型 變量名;修飾符:final,private,protected,public,static數(shù)據(jù)類型:基本數(shù)據(jù)類型,數(shù)組,類,接口變量名:名詞并有意義首字母小寫,多個(gè)單詞組合時(shí),第二個(gè)單詞首字母要大寫不能為Java的關(guān)鍵字如不賦值,符合默認(rèn)值
21、條件,運(yùn)行時(shí)自動(dòng)初始化,否則,編譯不能通過返回成員方法(函數(shù))類的方法實(shí)現(xiàn)了類所具有的行為,其他對(duì)象可以根據(jù)類的方法對(duì)類進(jìn)行訪問。定義的格式:修飾符 返回類型 方法名(參數(shù)列表) 修飾符:除了abstract,synchronized,native外,其他修飾與成員變量的一樣。返回類型:基本數(shù)據(jù)類型,數(shù)組,類,接口,void方法名:可以是任何一個(gè)有效的標(biāo)識(shí)符動(dòng)+名字并有意義首字母小寫,多個(gè)單詞組合時(shí),第二個(gè)單詞首字母要大寫不能為Java的關(guān)鍵字參數(shù)列表:可以基本數(shù)據(jù)變量,也可以數(shù)組,類,接口變量前者:傳值后者:傳引用返回構(gòu)造方法(函數(shù))它是一個(gè)特殊的成員方法。它是對(duì)象被創(chuàng)建時(shí)初始對(duì)象的方法。即
22、用來構(gòu)建對(duì)象的方法。特征:必須與類名完全一樣沒有返回類型如省略,Java會(huì)自動(dòng)調(diào)用默認(rèn)的構(gòu)造方法,即無參的構(gòu)造方法一般做初始化成員數(shù)據(jù)的工作返回main方法-執(zhí)行類的入口任何一個(gè)直接被調(diào)入java解釋器類,在運(yùn)行時(shí)Java解釋器首先找這個(gè)方法main方法是程序的入口main方法的寫法的固定不變的public static void main(String args)返回類的實(shí)例化對(duì)象將類實(shí)例化就生成對(duì)象。通過消息激活指定的某個(gè)對(duì)象的方法以改變其狀態(tài)或產(chǎn)生一定的行為,從而完成某一任務(wù)Java 語(yǔ)句中,使用new操作符來對(duì)類進(jìn)行實(shí)例化。格式:type objectName = new 構(gòu)造方法(參
23、數(shù)列表)type:對(duì)象的類型objectName:對(duì)象名new運(yùn)算符為對(duì)象分配內(nèi)存空間,實(shí)例化一個(gè)對(duì)象返回對(duì)象創(chuàng)建和使用一個(gè)對(duì)象的生命周期包括三個(gè)階段:生成Java提供new操作符來創(chuàng)建對(duì)象使用Java用點(diǎn)“.”操作符來實(shí)現(xiàn)對(duì)類成員變量和成員方法的訪問。返回方法重載 this的使用對(duì)象的生命周期與垃圾收集器返回方法重載重載:在一個(gè)類的定義中有多個(gè)名稱相同的方法,但每個(gè)方法的參數(shù)順序,參數(shù)類型,參數(shù)個(gè)數(shù)不同.重載反映了現(xiàn)實(shí)世界的變化。分為:成員方法重載構(gòu)造方法重載返回構(gòu)造方法重載-代碼演示public class AA()A(int x)A(int x,String m)A(String x,i
24、nt m)public static void main(String s)A a1=new A();a1=new A(10);a1=new A(10,”hello”);a1=new A(“hello”,10);成員方法重載-代碼演示public class Avoid f()int f(int x)boolean f(int x,String m)private void f(String x,int m)public static void main(String s)A a1=new A();a1.f();a1.f(10);a1.f(10,”hello”);a1.f(“hello”,10
25、);this的使用在構(gòu)造方法中的使用本類構(gòu)造方法的相互調(diào)用在成員方法中的使用成員數(shù)據(jù)與局部變量重名時(shí)使用返回在構(gòu)造方法中的使用public classs AA()this(10,20);/代碼 A(int x,int y)/代碼在成員方法中的使用public classs A int x;int y;A()this(10,20);/代碼 A(int x,int y)this.x=x;this.y=y;看看結(jié)果是多少?public class Aint x=10;A()x=30;int x=40;x=10;System.out.println(x);System.out.println(this
26、.x);對(duì)象的生命周期與垃圾收集器使用new關(guān)鍵字調(diào)用構(gòu)建函數(shù),對(duì)象即刻產(chǎn)生如果沒有任何引用指向該對(duì)象時(shí),對(duì)象可能會(huì)垃圾收集器回收掉當(dāng)垃圾收集器回收對(duì)象時(shí),先調(diào)用finalize()方法,此時(shí)對(duì)象生命結(jié)束示例class A public void finalize() System.out.println(“a delete”)class Test public static void main(String s) A a1=new A(); A a2=new A(); a1=a2; A a3=a1; a1=null; a2=null; a3=null; /問6-10行被運(yùn)行時(shí)是否有對(duì)象可能被
27、回收 System.gc() 通知垃圾回收器class A public void finalize() System.out.println(“a delete”)class Test public static void main(String s) A a1=new A(); A a2=new A(); a1=a2; System.gc(); A a3=a1; a1=null; a2=null;System.gc(); 繼承父 類 子類 父類/子類是相對(duì)的Cow類Lion類Tiger類Animals類Carnivorous類Herbivorous類Coat類繼承的特點(diǎn)繼承的特點(diǎn)具有層次結(jié)
28、構(gòu)子類繼承了父類的屬性和方法繼承的優(yōu)點(diǎn)繼承的優(yōu)點(diǎn)代碼的可重用性父類的屬性和方法可用于子類設(shè)計(jì)應(yīng)用程序變得更加簡(jiǎn)單可以輕松地自定義子類繼承Java當(dāng)中,Java的所有類都有是直接或間接地繼承Object類。被繼承的類稱為父類,繼承而得到的類稱為子類子類繼承父類的所有成員變量和方法,同時(shí)可以修改父類的變量或重寫父類的方法,并添加新的變量和方法,這叫擴(kuò)展。類的繼承是通過在類的定義過程中,用關(guān)鍵字extends來說明.一次只能繼承一個(gè)類,即單重繼承。格式:修飾符 class 類的名字 extends 父類返回繼承的實(shí)現(xiàn)class EmployeeString name;float salary=200
29、0f;public float getSalary()return salary; class Manager extends Employeeint bouns;public void setBouns(int b) bouns=b; public static void main(String s) Manager m=new Manager(); m.setBouns(1000); float fs=m.getSalary()+m.bouns; System.out.println(fs); 繼承過程中的重寫當(dāng)子類的成員(數(shù)據(jù)/方法)與父類的同名(參數(shù)完全一樣)時(shí),子類的會(huì)隱藏父類的成員
30、變量/成員方法,即發(fā)生了重寫。子類繼承父類后可訪問父類中公共類型和保護(hù)類型的成員變量或方法不能被聲明為私有類型的成員變量或方法繼承過程中的數(shù)據(jù)重寫Class Aint x=5; Class B extends Aint x=10; int getX()return x; public static void main(String s)B b=new B();b.getX();/?當(dāng)在子類中定義了一個(gè)與父類完全一樣的數(shù)據(jù)成員時(shí),在子類中將隱藏這個(gè)父類成員,即在子類中缺省將不能訪問這個(gè)父類成員繼承過程中的方法重寫Class Avoid f() System.out.println(“A f()”
31、);Class B extends Avoid f() System.out.println(“B f()”);public static void main(String s)B b=new B(); b.f();/?super關(guān)鍵字的使用 解決隱藏與重寫 子類在隱藏父類的成員變量或重寫了父類的方法以后,有時(shí)要訪問被重寫的方法或隱藏的成員,Java提供super關(guān)鍵字來實(shí)現(xiàn)對(duì)父類的訪問顯示調(diào)用父類構(gòu)造方法繼承過程中的數(shù)據(jù)重寫Class Aint x=5; Class B extends Aint x=10; int getX()retunr x+super.x; public static
32、void main(String s),B b=new B();b.getX();/?當(dāng)在子類中定義了一個(gè)與父類完全一樣的數(shù)據(jù)成員時(shí),在子類中將隱藏這個(gè)父類成員,即在子類中缺省將不能訪問這個(gè)父類成員,如果一定要訪問,可用super關(guān)鍵字體繼承過程中的方法重寫Class Avoid f() System.out.println(“A f()”);Class B extends Avoid f() super.f();System.out.println(“A f()”);public static void main(String s)B b=new B(); b.f();/?繼承與多態(tài)多態(tài)性
33、抽象類和抽象方法接口 返回多態(tài)性 多態(tài)性是指“多種形式”它使用不同的實(shí)例而執(zhí)行不同操作多態(tài)包括靜態(tài)多態(tài)性和動(dòng)態(tài)多態(tài)性靜態(tài)多態(tài)性-編譯時(shí)多態(tài)即用相同的方法名定義不同的方法內(nèi)容。編譯時(shí)根據(jù)它們的特征來進(jìn)行編譯. 即:方法重載動(dòng)態(tài)多態(tài)性-運(yùn)行時(shí)多態(tài)一種在運(yùn)行時(shí)調(diào)用重寫方法的機(jī)制。子類對(duì)象可以作為父類對(duì)象使用,這是因?yàn)樽宇愅ㄟ^繼承具備了父類的所有屬性。在程序中凡是可以使用父類對(duì)象的地方,都有可以用子類對(duì)象來代替。Java提供了 instanceof 運(yùn)算符,來判斷一個(gè)對(duì)象屬于哪個(gè)類的實(shí)例。方法重載 2-1方法重載類中有多個(gè)具有相同名稱的方法方法重載類中有多個(gè)具有相同名稱的方法方法具有不同的參數(shù)列表方法
34、重載 2-2演示:示例 4public class DisplayNumber /* 無參數(shù)可顯示/ void display() System.out.println(無參數(shù)可顯示!); /* * param num 傳遞至 display 方法的參數(shù) * param num1 傳遞至 display 方法的參數(shù) */ void display(int num, int num1) System.out.println(兩個(gè)整數(shù)是: + num + + num1); /* * param型的 count 由 display 方法接收 */ void display(double count)
35、 System.out.println(在 display(double)方法內(nèi): + count) public static void main(String arg) int count = 25; DisplayNumber dispObj = new DisplayNumber(); dispObj.display(); dispObj.display(10 , 20); /* 不存在具有一個(gè) int 型參數(shù)的方法, *int 型值自動(dòng)轉(zhuǎn)化為 double 型值 */ System.out.println(“調(diào)用 display(double) 方法, + “使用 int 變量: +
36、 count); dispObj.display(count); dispObj.display(25.5); 多態(tài)性 2-2父類子類 - 繪制和移動(dòng)三角形子類 - 繪制和移動(dòng)矩形 子類 - 繪制和移動(dòng)五邊形ShapeDraw ()Move ()TriangleDraw () DrawTraingleMove () MoveTriangleVerticesRectangleDraw () DrawRectangleMove () MoveRectangleCornerPentagonDraw () DrawPentagonMove () MovePentagonVertices方法重寫 2-1
37、方法重寫子類和父類的方法具有相同的名稱和類型用子類對(duì)象調(diào)用子類中的重寫方法super.methodname() 用于調(diào)用父類中的方法方法重寫 2-2父類和子類中具有相同名稱和類型的方法 public static void main(String arg) Rectangle rectObj = new Rectangle(10, 15); rectObj.getPerimeter(); Rectangle sqObj= new Square(15); sqObj.getPerimeter(); 調(diào)用父類方法調(diào)用子類方法class Square extends Rectangle Square
38、(int len) length = len; /* 計(jì)算周長(zhǎng).*/ void getPerimeter() System.out.println(“正方形的周長(zhǎng)為 + (4 * length); class Rectangle int length; int width; Rectangle(int len , int wid) length = len; width = wid; /* 計(jì)算矩形的周長(zhǎng).*/ void getPerimeter() System.out.println(“矩形的周長(zhǎng)為 + (2 * (length + width); 抽象類和抽象方法 用abstract關(guān)鍵
39、字修飾不能在類內(nèi)實(shí)現(xiàn)的方法,這樣的方法稱為抽象方法,含有抽象方法的類必須聲明為abstract,這樣的類叫抽象類。抽象類中不一定包含抽象方法,但包含抽象方法的類一定要聲明為抽象類抽象類本身不具備實(shí)際的功能,只能夠用于派生時(shí)重載。如果一個(gè)類被定義為抽象類,則該類不能進(jìn)行實(shí)例化,必須通過重載的方式來實(shí)現(xiàn)抽象類中的方法。 例子:ShapeTest.java返回接口接口是一種更純的抽象類,它是方法定義和常量值的集合,Java通過接口使得處于不同層次甚至不相關(guān)的類可以擁有相同的行為。接口之間可以繼承,從而使功能更強(qiáng).在定義的類的過程中,可以實(shí)現(xiàn)多個(gè)接口,從而實(shí)現(xiàn)多繼承.接口定義格式: public in
40、terface 接口名 extends 父接口 接口體;接口體包含常量定義和方法定義,接口的變量是自動(dòng)是public static final屬性, 接口中的方法自動(dòng)是public abstract屬性,并沒有方法體,以分號(hào)結(jié)尾。例子:InterfaceDemo.java接口實(shí)現(xiàn)格式:修飾符 class 類名 extends 父類 implements 接口必須實(shí)現(xiàn)接口的所有方法;例子:TestInterface.java TestInterfaceShape.javastatic 修飾符static修飾的成員方法叫靜態(tài)方法static修飾的成員數(shù)據(jù)叫靜態(tài)數(shù)據(jù)目的使該方法或數(shù)據(jù)獨(dú)立于類的實(shí)例,
41、使用類去訪問,而不是類實(shí)例,所以也叫全局方法和數(shù)據(jù)static 修飾符調(diào)用靜態(tài)方法的語(yǔ)法為: classname.methodname( ); classname.fieldname; 規(guī) 則可以調(diào)用其他靜態(tài)方法必須訪問靜態(tài)數(shù)據(jù)不能使用 super 或 this 關(guān)鍵字初始化類初始化通過類初始化塊完成static class Teststatic類加載時(shí)初始化對(duì)象初始化通過對(duì)象初始化塊完成普通的 class Test對(duì)象創(chuàng)建時(shí)初始化返回final的使用finalfinal 修飾類 不能被繼承final 修飾變量 不能被修改final 修飾成員方法 不能被重寫內(nèi)部類當(dāng)A類為B類服務(wù)時(shí),為不讓外界
42、直接訪問到A類,因此可把這個(gè)A類定義在B類的內(nèi)部,變?yōu)閮?nèi)部類。內(nèi)部類可直接使用外部類的成員分類static內(nèi)部類普通內(nèi)部類匿名內(nèi)部類返回示例interface Bvoid add();public class Testint m=0;class AA()m=20;public B getB()class C implements Bpublic void add()return new C();包包是類庫(kù)的組成單元,Java的類庫(kù)是由各種各樣功能包組成的.Java安裝目錄jrelibrt.jar就是java的類庫(kù)類和接口是包的組成元素,編程人員可以把一組類和接口通過package關(guān)鍵字封裝在一
43、個(gè)包中。從而實(shí)現(xiàn)了Java的命名空間。聲明包在源文件的開始加上:package包名(要求全部小寫)在編譯時(shí),加-d參數(shù),指明包放的位置Javac 包名/文件名.java使用包中的類如使用不同包的類,必須加入import關(guān)鍵字Java 包名.類名引用的包必須在classpath環(huán)境變量中,如果不在,運(yùn)行時(shí)要用-classpath參數(shù)單獨(dú)指定.返回打包及編譯-示例package lhj;public class Greet public void SayHello()System.out.print(hello,i am lhj);這個(gè)文件保存在lhj的目錄中使用包的類-示例package aa;
44、public class Test /* * param args */public static void main(String args) lhj.Greet g = new lhj.Greet();g.SayHello();這個(gè)文件保存在aa的目錄中高級(jí)訪問控制訪問修飾符為:publicprotectedprivate如果一個(gè)類或類的成員前沒有任何訪問修飾符時(shí),它們獲得缺省的訪問權(quán)限。public 訪問修飾符只有在使用 public 訪問修飾符時(shí),類的成員才可被同一包或不同包中的所有類訪問。也就是說,public 訪問修飾符可以使類的特性公用于任何類。 缺省訪問權(quán)限/protected
45、訪問修飾符缺省的成員可以被同一包中的其他類訪問。protected 訪問修飾符允許類本身、同一包中的所有類和不同包中的子類訪問 。如果希望一個(gè)成員在當(dāng)前包外可見,但僅僅是成員所在類的子類直接可見,就要使用 protected 修飾該成員。 private 訪問修飾符private 訪問修飾符是限制性最大的一種訪問修飾符。 被聲明為private的成員只能被此類中的其他成員訪問,不能被類外看到。 繼承體系結(jié)構(gòu)中最高級(jí)別的類決不會(huì)被聲明為 private 類。 高級(jí)訪問控制總結(jié)Java中將類成員的可見度分為四個(gè)種類:同一類中的成員同一包中的其他類不同包中的子類不同包中的非子類private成員缺省
46、的成員protected成員public成員同一類中的成員是是是是同一包中的其他類否是是是不同包的子類否否是是不同包中的非子類否否否是105.int num1 = 5;Integer num = new Integer(num1);int num2 = Value();.包裝類 int digit = 10;原始數(shù)據(jù)類型使用原始數(shù)據(jù)類型聲明的變量視為對(duì)象原始數(shù)據(jù)類型包裝類Java.lang 提供106包裝類 Short short(短整型)Booleanboolean(布爾)Double double(雙精度)Floatfloat(浮點(diǎn)型)Long long(長(zhǎng)整型)Integerint(整型
47、)Character char(字符)Byte byte(字節(jié))包裝類原始數(shù)據(jù)類型107包裝類 確定是否允許將指定字符作為 Unicode 標(biāo)識(shí)符中的首字符isUnicodeIdentifierStart()確定字符是否為空格或換行符isSpace()確定字符是否為大寫形式isUpperCase()確定字符是否為小寫形式isLowerCase()確定字符是否為字母isLetter()確定字符是否為 0 至 9 之間的數(shù)字isDigit()說明方法Character包裝類的方法108包裝類的用途用于值類型和字符串之間的轉(zhuǎn)換異常處理什么是異常異常的類型異常的處理技術(shù)異常的處理的原則110什么是異常
48、?public class ExceptionRaised public ExceptionRaised() public int calculate( int operand1, int operand2) int result = operand1 / operand2; return result; public static void main(String args) ExceptionRaised obj = new ExceptionRaised(); int result = obj.calculate(9, 0); System.out.println(result); OS
49、!異常情況異 常程序突然終止并將控制交給操作系統(tǒng)在運(yùn)行時(shí)發(fā)生的錯(cuò)誤 111ExceptionArithmeticExceptionNullPointerExceptionObjectThrowableErrorThreadDeathSQLExceptionRuntimeExceptionNumberFormatException異常類的層次結(jié)構(gòu)Throwable 具有兩個(gè)子類,它們是Exception:處理用戶程序應(yīng)當(dāng)捕獲的異常情況Error:Error 類的異常為內(nèi)部錯(cuò)誤,因此在正常情況下不期望用戶的程序捕獲它們 AWTError112Java異常類 文件結(jié)束EOFException找不到文
50、件FileNotFoundExceptionI/O 異常的根類IOException數(shù)字轉(zhuǎn)化格式異常,比如字符串到 float 型數(shù)字的轉(zhuǎn)換無效NumberFormatException不能加載所需的類ClassNotFoundException方法接收到非法參數(shù)IllegalArgumentException數(shù)組大小小于或大于實(shí)際的數(shù)組大小ArrayIndexOutOfBoundException嘗試訪問 null 對(duì)象成員NullPointerException許多 java.lang 異常的基類RuntimeException異常層次結(jié)構(gòu)的根類Exception算術(shù)錯(cuò)誤情形,如以零作除數(shù)
51、ArithmeticException線程中斷InterruptedException說 明異 常113什么時(shí)候產(chǎn)生異常對(duì)外部資源進(jìn)行訪問文件數(shù)據(jù)庫(kù)打印機(jī)等114ThrowableThrowable(String message) 構(gòu)造帶指定詳細(xì)消息的新throwable。Throwable(String message, Throwable cause):構(gòu)造一個(gè)帶指定詳細(xì)消息和 cause 的新 throwable。115Throwable Throwable getCause() 返回此 throwable 的 cause;如果 cause 不存在或未知,則返回 null。 String
52、 getLocalizedMessage() 創(chuàng)建此 throwable 的本地化描述。 String getMessage() 返回此 throwable 的詳細(xì)消息字符串。116Throwable void printStackTrace() 將此 throwable 及其追蹤輸出至標(biāo)準(zhǔn)錯(cuò)誤流。 void printStackTrace(PrintStream s) 將此 throwable 及其追蹤輸出到指定的輸出流。 void printStackTrace(PrintWriter s) 將此 throwable 及其追蹤輸出到指定的 PrintWriter。117ExceptionE
53、xception(String message) 構(gòu)造帶指定詳細(xì)消息的新異常。Exception(String message, Throwable cause) 構(gòu)造帶指定詳細(xì)消息和原因的新異常。非構(gòu)造函數(shù)方法均從Throwable類繼承。118手動(dòng)引發(fā)異常指定由方法引發(fā)的異常 tryfinallycatchthrowsthrow處理異常 2-2要監(jiān)控的程序語(yǔ)句包含在此塊中以合理的方式捕獲和處理異常釋放資源等119try 和 catch 塊 2-1trycatch異常執(zhí)行 catch 后程序繼續(xù)正常運(yùn)行程序控制 引發(fā)代碼塊單 元120try 和 catch 塊 2-2演示:示例 1try 和
54、 catch 塊的用法class ExceptionRaised /* 構(gòu)造方法. */ public ExceptionRaised() /* * 這個(gè)方法運(yùn)行時(shí)將會(huì)產(chǎn)生一個(gè)異常. * param operand1 除法中的分子 * param operand2 除法中的分母 * return int 返回除法的結(jié)果 */ public int calculate(int operand1, int operand2) int result = operand1 / operand2; return result; public class ArithmeticException /* 構(gòu)造
55、方法. */ public ArithmeticException() public static void main(String args) ExceptionRaised obj = new ExceptionRaised(); try /* 定義變量 result 以存儲(chǔ)結(jié)果. */ int result = obj.calculate(9, 0); System.out.println(result); catch (Exception e) System.err.println(“發(fā)生異常: + e.toString(); e.printStackTrace(); 121final
56、ly 塊try 塊finally 塊catch 塊 無異常異常try、catch 和 finally 塊的執(zhí)行流程122異常處理塊的一般形式try / 要監(jiān)控錯(cuò)誤的代碼塊 methodGeneratingException(); catch (Exception e) / Exception e 的異常處理程序 finally / 在 try 結(jié)束前要執(zhí)行的代碼塊 cleanup();123多重 catch 塊3-1一段代碼可能會(huì)生成多個(gè)異常當(dāng)引發(fā)異常時(shí),會(huì)按順序來查看每個(gè) catch 語(yǔ)句,并執(zhí)行第一個(gè)類型與異常類型匹配的語(yǔ)句執(zhí)行其中的一條 catch 語(yǔ)句之后,其他的 catch 語(yǔ)句將被
57、忽略 try . catch(ArrayIndexOutOfBoundsException e) catch(Exception e) 124多重 catch 塊3-2使用多重 catch 語(yǔ)句時(shí),異常子類一定要位于異常父類之前 try . catch(Exception e) catch(ArrayIndexOutOfBoundsException e) 125使用 throw 和 throws 2-1 語(yǔ)句 3throw 異常引發(fā)的異常!停止異常處理程序可執(zhí)行程序語(yǔ)句語(yǔ)句 1語(yǔ)句 2126用戶自定義異常 2-1自定義異常概念使用自定義異常的時(shí)候JavaAPI提供的內(nèi)置異常不一定總能捕獲程序
58、中發(fā)生的所有錯(cuò)誤。有時(shí)會(huì)需要?jiǎng)?chuàng)建用戶自定義異常 自定義異常需要繼承Exception 及其子類127class ArraySizeException extends NegativeArraySizeException /* 構(gòu)造方法。 */ ArraySizeException() super(“您傳遞的數(shù)組大小非法); 用戶自定義異常 2-2示例: 示例 6創(chuàng)建用戶自定義異常繼承 Exception 或其子類 class ExceptionClass ExceptionClass(int val) size = val; try checkSize(); catch (ArraySizeE
59、xception e) System.out.println(e); /* 聲明變量以存儲(chǔ)數(shù)組的大小和元素. */ private int size; private int array; /* 檢查數(shù)組長(zhǎng)度的方法. * throws 一個(gè) ArraySizeException */ public void checkSize() throws ArraySizeException if (size 0) throw new ArraySizeException(); array = new int3; for (int count = 0; count 3; count+) arraycou
60、nt = count + 1; class UserDefinedExceptions /* 構(gòu)造方法. */ protected UserDefinedExceptions() /* * 類和應(yīng)用程序的唯一入口點(diǎn). * param arg 字符串參數(shù)的數(shù)組 */ public static void main(String arg) ExceptionClass obj = new ExceptionClass(Integer.parseInt(arg0); 128總結(jié)異常是運(yùn)行時(shí)發(fā)生的錯(cuò)誤可以使用 try、catch、throw、throws 和 finally 來管理 Java 異常處理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)復(fù)學(xué)后疫情防控工作計(jì)劃
- 2024年超細(xì)合金粉末項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 2025-2030中國(guó)公路貨運(yùn)行業(yè)運(yùn)營(yíng)動(dòng)態(tài)及未來發(fā)展方向研究研究報(bào)告
- 2025-2030中國(guó)全轉(zhuǎn)錄組測(cè)序行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030中國(guó)光學(xué)收縮膜市場(chǎng)運(yùn)行態(tài)勢(shì)與戰(zhàn)略規(guī)劃投資行業(yè)深度調(diào)研及投資前景預(yù)測(cè)研究報(bào)告
- 2025-2030中國(guó)兒童床墊行業(yè)市場(chǎng)全景調(diào)研及投資價(jià)值評(píng)估咨詢報(bào)告
- 2025-2030中國(guó)低鈉鹽行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030中國(guó)伊伏特拉行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030中國(guó)人才測(cè)評(píng)行業(yè)市場(chǎng)深度調(diào)研及競(jìng)爭(zhēng)格局與投資前景研究報(bào)告
- 2025-2030中國(guó)亨廷頓病治療學(xué)行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025江西南昌市江銅產(chǎn)融社會(huì)招聘1人筆試參考題庫(kù)附帶答案詳解
- (二統(tǒng))昆明市2025屆“三診一?!备呷龔?fù)習(xí)教學(xué)質(zhì)量檢測(cè)地理試卷(含答案)
- Unit 3 Keep Fit Section A 2a-2e 教學(xué)設(shè)計(jì) 2024-2025學(xué)年人教版(2024)七年級(jí)英語(yǔ)下冊(cè)
- 國(guó)開電大軟件工程形考作業(yè)3參考答案
- 王陽(yáng)明心學(xué)課件
- (完整版)建筑構(gòu)造課件
- 新浙教版七年級(jí)上冊(cè)初中科學(xué) 第2節(jié) 質(zhì)量的測(cè)量 教學(xué)課件
- 《巖石力學(xué)(含實(shí)驗(yàn))》課程教學(xué)大綱
- 中國(guó)銀行保函業(yè)務(wù)培訓(xùn)(共71頁(yè)).ppt
- 廣東公共就業(yè)服務(wù)標(biāo)準(zhǔn)化手冊(cè)
- 全國(guó)油料高產(chǎn)創(chuàng)建測(cè)產(chǎn)驗(yàn)收辦法
評(píng)論
0/150
提交評(píng)論