




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄 TOC o 1-3 h z u HYPERLINK l _Toc4 1.原碼、反碼、補(bǔ)碼 PAGEREF _Toc4 h 1 HYPERLINK l _Toc5 1.1.原碼 PAGEREF _Toc5 h 1 HYPERLINK l _Toc6 1.2.反碼 PAGEREF _Toc6 h 1 HYPERLINK l _Toc7 1.3.補(bǔ)碼 PAGEREF _Toc7 h 1 HYPERLINK l _Toc8 1.4.負(fù)數(shù)的補(bǔ)碼轉(zhuǎn)換為十進(jìn)制數(shù) PAGEREF _Toc8 h 2 HYPERLINK l _Toc9 2.char PAGEREF _Toc9 h 2 HYPERLINK
2、 l _Toc0 3.運(yùn)算符 PAGEREF _Toc0 h 2 HYPERLINK l _Toc1 3.1.移位運(yùn)算符 PAGEREF _Toc1 h 2 HYPERLINK l _Toc2 3.2.位運(yùn)算符 PAGEREF _Toc2 h 3 HYPERLINK l _Toc3 3.3.邏輯運(yùn)算符 PAGEREF _Toc3 h 3 HYPERLINK l _Toc4 4.流程控制 PAGEREF _Toc4 h 3 HYPERLINK l _Toc5 4.1.switch PAGEREF _Toc5 h 3 HYPERLINK l _Toc6 4.2.break和continue PAG
3、EREF _Toc6 h 4 HYPERLINK l _Toc7 5.方法 PAGEREF _Toc7 h 4 HYPERLINK l _Toc8 5.1.構(gòu)造方法 PAGEREF _Toc8 h 4 HYPERLINK l _Toc9 5.2.方法重載 PAGEREF _Toc9 h 4 HYPERLINK l _Toc0 6.this PAGEREF _Toc0 h 5 HYPERLINK l _Toc1 7.繼承 PAGEREF _Toc1 h 5 HYPERLINK l _Toc2 7.1.super PAGEREF _Toc2 h 5 HYPERLINK l _Toc3 7.2.多態(tài)
4、(polymorphism) PAGEREF _Toc3 h 6 HYPERLINK l _Toc4 7.3.instanceof PAGEREF _Toc4 h 6 HYPERLINK l _Toc5 8.static PAGEREF _Toc5 h 7 HYPERLINK l _Toc6 9.final PAGEREF _Toc6 h 7 HYPERLINK l _Toc7 10.abstract PAGEREF _Toc7 h 8 HYPERLINK l _Toc8 11.類的加載 PAGEREF _Toc8 h 8 HYPERLINK l _Toc9 11.1.觸發(fā)類加載的幾種情況 P
5、AGEREF _Toc9 h 8 HYPERLINK l _Toc0 11.2.類加載的順序 PAGEREF _Toc0 h 8 HYPERLINK l _Toc1 12.接口(interface) PAGEREF _Toc1 h 9 HYPERLINK l _Toc2 13.訪問控制 PAGEREF _Toc2 h 10 HYPERLINK l _Toc3 14.Object類 PAGEREF _Toc3 h 11 HYPERLINK l _Toc4 14.1.clone() PAGEREF _Toc4 h 11 HYPERLINK l _Toc5 14.1.1.對(duì)象克隆過程 PAGEREF
6、 _Toc5 h 11 HYPERLINK l _Toc6 14.1.2.淺復(fù)制和深復(fù)制概念 PAGEREF _Toc6 h 12 HYPERLINK l _Toc7 14.2.finalize() PAGEREF _Toc7 h 12 HYPERLINK l _Toc8 14.3.equals(Object obj) PAGEREF _Toc8 h 12 HYPERLINK l _Toc9 14.4.toString() PAGEREF _Toc9 h 12 HYPERLINK l _Toc0 15.String類及對(duì)象池 PAGEREF _Toc0 h 12 HYPERLINK l _To
7、c1 15.1.String a=hello; PAGEREF _Toc1 h 13 HYPERLINK l _Toc2 15.2.String c=new String(hello); PAGEREF _Toc2 h 13 HYPERLINK l _Toc3 16.StringBuffer和StringBuilder PAGEREF _Toc3 h 13 HYPERLINK l _Toc4 17.主方法參數(shù) PAGEREF _Toc4 h 14 HYPERLINK l _Toc5 18.方法的可變長參數(shù) PAGEREF _Toc5 h 14 HYPERLINK l _Toc6 19.包裝類
8、PAGEREF _Toc6 h 14 HYPERLINK l _Toc7 19.1.Number PAGEREF _Toc7 h 15 HYPERLINK l _Toc8 19.2.自動(dòng)封箱/自動(dòng)解封(Autoboxing/Unboxing) PAGEREF _Toc8 h 15 HYPERLINK l _Toc9 19.3.對(duì)象池 PAGEREF _Toc9 h 15 HYPERLINK l _Toc0 20.內(nèi)部類 PAGEREF _Toc0 h 16 HYPERLINK l _Toc1 20.1.意義 PAGEREF _Toc1 h 16 HYPERLINK l _Toc2 20.2.四
9、種形式的內(nèi)部類 PAGEREF _Toc2 h 16 HYPERLINK l _Toc3 20.2.1.靜態(tài)內(nèi)部類 PAGEREF _Toc3 h 16 HYPERLINK l _Toc4 20.2.2.成員內(nèi)部類 PAGEREF _Toc4 h 17 HYPERLINK l _Toc5 20.2.3.局部內(nèi)部類 PAGEREF _Toc5 h 18 HYPERLINK l _Toc6 20.2.4.匿名內(nèi)部類 PAGEREF _Toc6 h 18 HYPERLINK l _Toc7 20.3.內(nèi)部類的應(yīng)用 PAGEREF _Toc7 h 20 HYPERLINK l _Toc8 21.集合框
10、架(Collection Framework) PAGEREF _Toc8 h 20 HYPERLINK l _Toc9 21.1.Iterator接口和Iterable接口 PAGEREF _Toc9 h 21 HYPERLINK l _Toc0 21.2.Connection接口和Connections類 PAGEREF _Toc0 h 21 HYPERLINK l _Toc1 21.2.1.java.util.Collection PAGEREF _Toc1 h 21 HYPERLINK l _Toc2 21.2.2.java.util.Collections PAGEREF _Toc2
11、 h 21 HYPERLINK l _Toc3 21.3.List(列表)接口 PAGEREF _Toc3 h 21 HYPERLINK l _Toc4 21.3.1.ArrayList PAGEREF _Toc4 h 22 HYPERLINK l _Toc5 21.3.2.LinkedList PAGEREF _Toc5 h 22 HYPERLINK l _Toc6 21.3.3.Vector PAGEREF _Toc6 h 22 HYPERLINK l _Toc7 21.4.Set(集合)接口 PAGEREF _Toc7 h 22 HYPERLINK l _Toc8 21.4.1.Hash
12、Set PAGEREF _Toc8 h 23 HYPERLINK l _Toc9 21.4.2.TreeSet PAGEREF _Toc9 h 25 HYPERLINK l _Toc0 21.5.排序的兩種辦法 PAGEREF _Toc0 h 25 HYPERLINK l _Toc1 21.5.1.java.lang.Comparable(可比較的) PAGEREF _Toc1 h 25 HYPERLINK l _Toc2 21.5.2.java.util.Comparator(比較器) PAGEREF _Toc2 h 26 HYPERLINK l _Toc3 21.6.Map PAGEREF
13、 _Toc3 h 26 HYPERLINK l _Toc4 21.6.1.HashMap PAGEREF _Toc4 h 26 HYPERLINK l _Toc5 21.6.2.Hashtable PAGEREF _Toc5 h 27 HYPERLINK l _Toc6 21.6.3.Hashtable下的子類Properties類 PAGEREF _Toc6 h 27 HYPERLINK l _Toc7 21.6.4.SortedMap接口下的TreeMap類 PAGEREF _Toc7 h 27 HYPERLINK l _Toc8 22.泛型(Generic) PAGEREF _Toc8
14、h 28 HYPERLINK l _Toc9 22.1.泛型特點(diǎn) PAGEREF _Toc9 h 28 HYPERLINK l _Toc0 22.2.通配符 PAGEREF _Toc0 h 28 HYPERLINK l _Toc1 22.2.1.上限通配符: PAGEREF _Toc1 h 28 HYPERLINK l _Toc2 22.2.2.下限通配符 PAGEREF _Toc2 h 29 HYPERLINK l _Toc3 22.2.3.總結(jié): PAGEREF _Toc3 h 29 HYPERLINK l _Toc4 22.3.運(yùn)用 PAGEREF _Toc4 h 30 HYPERLIN
15、K l _Toc5 23.異常 PAGEREF _Toc5 h 30 HYPERLINK l _Toc6 23.1.異常處理基礎(chǔ) PAGEREF _Toc6 h 30 HYPERLINK l _Toc7 23.2.異常的類繼承結(jié)構(gòu) PAGEREF _Toc7 h 30 HYPERLINK l _Toc8 23.3.常見的未檢查異常 PAGEREF _Toc8 h 31 HYPERLINK l _Toc9 23.4.throw PAGEREF _Toc9 h 31 HYPERLINK l _Toc0 23.5.自定義異常類 PAGEREF _Toc0 h 32 HYPERLINK l _Toc1
16、 24.反射(Reflection) PAGEREF _Toc1 h 33 HYPERLINK l _Toc2 24.1.反射需要用到的類 PAGEREF _Toc2 h 33 HYPERLINK l _Toc3 24.1.1.java.lang.Class PAGEREF _Toc3 h 33 HYPERLINK l _Toc4 24.1.2.java.lang.reflect.Field PAGEREF _Toc4 h 34 HYPERLINK l _Toc5 24.1.3.java.lang.Package PAGEREF _Toc5 h 34 HYPERLINK l _Toc6 24.
17、1.4.java.lang.relect.Modifier PAGEREF _Toc6 h 34 HYPERLINK l _Toc7 24.1.5.java.lang.reflect.Mothed PAGEREF _Toc7 h 34 HYPERLINK l _Toc8 24.1.6.java.lang.reflect.Array PAGEREF _Toc8 h 34 HYPERLINK l _Toc9 24.1.7.java.lang.reflect.Constructor PAGEREF _Toc9 h 34 HYPERLINK l _Toc0 24.2.三種獲得某個(gè)類的Class對(duì)象的方
18、法 PAGEREF _Toc0 h 34 HYPERLINK l _Toc1 24.2.1.Class c=Class.forName(類名); PAGEREF _Toc1 h 34 HYPERLINK l _Toc2 24.2.2.Class c=類名.class; PAGEREF _Toc2 h 35 HYPERLINK l _Toc3 24.2.3.Class c=對(duì)象名.getClass(); PAGEREF _Toc3 h 35 HYPERLINK l _Toc4 24.3.所能探查出來的類的特征 PAGEREF _Toc4 h 35 HYPERLINK l _Toc5 24.4.通
19、過反射生成一個(gè)類的實(shí)例 PAGEREF _Toc5 h 35 HYPERLINK l _Toc6 24.4.1.第一種方法 PAGEREF _Toc6 h 36 HYPERLINK l _Toc7 24.4.2.第二種方法 PAGEREF _Toc7 h 36 HYPERLINK l _Toc8 25.File PAGEREF _Toc8 h 36 HYPERLINK l _Toc9 25.1.構(gòu)造方法 PAGEREF _Toc9 h 36 HYPERLINK l _Toc0 25.2.重點(diǎn)方法 PAGEREF _Toc0 h 37 HYPERLINK l _Toc1 25.3.目錄 PAGE
20、REF _Toc1 h 38 HYPERLINK l _Toc2 26.流 PAGEREF _Toc2 h 38 HYPERLINK l _Toc3 26.1.字節(jié)流 PAGEREF _Toc3 h 38 HYPERLINK l _Toc4 26.2.字符流 PAGEREF _Toc4 h 40 HYPERLINK l _Toc5 26.3.節(jié)點(diǎn)流(Node Stream): PAGEREF _Toc5 h 41 HYPERLINK l _Toc6 26.4.過濾流 (Filter Stream) PAGEREF _Toc6 h 41 HYPERLINK l _Toc7 26.5.Object
21、InputStream和ObjectOutputStream PAGEREF _Toc7 h 42 HYPERLINK l _Toc8 26.6.字節(jié)流轉(zhuǎn)化成字符流的橋轉(zhuǎn)換器 PAGEREF _Toc8 h 44 HYPERLINK l _Toc9 26.7.文本文件和二進(jìn)制文件 PAGEREF _Toc9 h 46 HYPERLINK l _Toc0 27.線程 PAGEREF _Toc0 h 46 HYPERLINK l _Toc1 27.1.概念與原理 PAGEREF _Toc1 h 46 HYPERLINK l _Toc2 27.1.1.操作系統(tǒng)中線程和進(jìn)程的概念 PAGEREF _T
22、oc2 h 46 HYPERLINK l _Toc3 27.1.2.Java中的線程 PAGEREF _Toc3 h 47 HYPERLINK l _Toc4 27.1.3.Java中的線程模型 PAGEREF _Toc4 h 47 HYPERLINK l _Toc5 27.1.4.一些常見問題 PAGEREF _Toc5 h 47 HYPERLINK l _Toc6 27.2.線程狀態(tài)的轉(zhuǎn)換 PAGEREF _Toc6 h 48 HYPERLINK l _Toc7 27.2.1.線程的七種狀態(tài) PAGEREF _Toc7 h 48 HYPERLINK l _Toc8 27.2.2.阻止線程執(zhí)
23、行 PAGEREF _Toc8 h 50 HYPERLINK l _Toc9 27.3.線程的同步與鎖 PAGEREF _Toc9 h 51 HYPERLINK l _Toc0 27.3.1.同步和鎖定 PAGEREF _Toc0 h 51 HYPERLINK l _Toc1 27.3.2.靜態(tài)方法同步 PAGEREF _Toc1 h 56 HYPERLINK l _Toc2 27.3.3.如果線程不能獲得鎖會(huì)怎么樣 PAGEREF _Toc2 h 56 HYPERLINK l _Toc3 27.3.4.何時(shí)需要同步 PAGEREF _Toc3 h 57 HYPERLINK l _Toc4 2
24、7.3.5.線程安全類 PAGEREF _Toc4 h 57 HYPERLINK l _Toc5 27.3.6.線程死鎖 PAGEREF _Toc5 h 58 HYPERLINK l _Toc6 27.3.7.線程同步小結(jié) PAGEREF _Toc6 h 59 HYPERLINK l _Toc7 27.4.線程的交互 PAGEREF _Toc7 h 60 HYPERLINK l _Toc8 27.4.1.線程交互的基礎(chǔ)知識(shí) PAGEREF _Toc8 h 60 HYPERLINK l _Toc9 27.4.2.多個(gè)線程在等待一個(gè)對(duì)象鎖時(shí)候使用notifyAll() PAGEREF _Toc9
25、h 62 HYPERLINK l _Toc0 27.5.守護(hù)線程(后臺(tái)服務(wù)線程) PAGEREF _Toc0 h 63 HYPERLINK l _Toc1 27.6.并發(fā)協(xié)作-生產(chǎn)者消費(fèi)者模型 PAGEREF _Toc1 h 64 HYPERLINK l _Toc2 27.7.volatile關(guān)鍵字 PAGEREF _Toc2 h 64 HYPERLINK l _Toc3 28.網(wǎng)絡(luò)編程 PAGEREF _Toc3 h 65 HYPERLINK l _Toc4 28.1.TCP Socket編程 PAGEREF _Toc4 h 65 HYPERLINK l _Toc5 28.1.1.Serve
26、rSocket PAGEREF _Toc5 h 66 HYPERLINK l _Toc6 28.1.2.Socket PAGEREF _Toc6 h 66 HYPERLINK l _Toc7 28.2.UDP Socket編程 PAGEREF _Toc7 h 67 HYPERLINK l _Toc8 28.2.1.DatagramSocket PAGEREF _Toc8 h 67 HYPERLINK l _Toc9 28.2.2.DatagramPacket PAGEREF _Toc9 h 67原碼、反碼、補(bǔ)碼原碼將最高位作為符號(hào)位(以0代表正,1代表負(fù)),其余各位代表數(shù)值本身的絕對(duì)值(以二進(jìn)
27、制表示)。為了簡單起見,我們用1個(gè)字節(jié)來表示一個(gè)整數(shù):+7的原碼為:00000111-7的原碼為:問題:+0的原碼為:00000000-0的原碼為:反碼一個(gè)數(shù)如果為正,則它的反碼與原碼相同;一個(gè)數(shù)如果為負(fù),則符號(hào)位為1,其余各位是對(duì)原碼取反。為了簡單起見,我們用1個(gè)字節(jié)來表示一個(gè)整數(shù):+7的反碼為:00000111-7的反碼為:問題:+0的反碼為:00000000-0的反碼為:補(bǔ)碼利用溢出,我們可以將減法變成加法。對(duì)于十進(jìn)制數(shù),如果從9得到結(jié)果5,可以用減法:9-4=5;因?yàn)?+6=10,我們將6作為4的補(bǔ)數(shù),將上式的減法改寫為加法:9+6=15;去掉高位1(也就是減去10),得到結(jié)果5。對(duì)于
28、16進(jìn)制數(shù),如果從C得到結(jié)果5,可以用減法:C-7=5;因?yàn)?+9=16,我們將9作為7的補(bǔ)數(shù),將上式的減法改寫為加法:C+9=15;去掉高位1(也就是減去16),得到結(jié)果5。在計(jì)算機(jī)中,如果我們用1個(gè)字節(jié)表示一個(gè)數(shù),一個(gè)字節(jié)有8位,超過8位就進(jìn)1,在內(nèi)存中情況為:1 00000000,進(jìn)位1被丟棄。一個(gè)數(shù)如果為正,則它的原碼、反碼、補(bǔ)碼相同;一個(gè)數(shù)如果為負(fù),則符號(hào)位為1,其余各位是對(duì)原碼取反,然后整個(gè)數(shù)加1。為了簡單起見,我們用1個(gè)字節(jié)來表示一個(gè)整數(shù)。+7的補(bǔ)碼為:00000111-7的補(bǔ)碼為:負(fù)數(shù)的補(bǔ)碼轉(zhuǎn)換為十進(jìn)制數(shù)先對(duì)各位取反;將其轉(zhuǎn)換為十進(jìn)制數(shù);加上負(fù)號(hào),再減去1。例如:,最高位為1,
29、是負(fù)數(shù),先對(duì)各位取反得00000101,轉(zhuǎn)換為十進(jìn)制數(shù)得5,加上負(fù)號(hào)得-5,再減1得-6。charchar類型(2字節(jié))用于表示Unicode編碼的字符單元;char類型用于表示單個(gè)字符,通常用來表示字符常量。例如:A是編碼為65所對(duì)應(yīng)的字符常量。Unicode編碼單元可以表示為十六進(jìn)制值,其范圍從u0000到uffff。除了可以采用轉(zhuǎn)義序列符u表示Unicode代碼單元的編碼之外,還有一些用于表示特殊字符的轉(zhuǎn)義序列符。如:轉(zhuǎn)義序列名稱Unicode值b退格(Backspace)u0008t制表(Tab)u0009n換行(Linefeed)u000ar回車u000d”雙引號(hào)(Double qu
30、ote)u0022單引號(hào)(Single quote)u0027反斜杠(Backslash)u005c盡管char不是整數(shù),但在許多情況中你可以對(duì)它們進(jìn)行運(yùn)算操作就好像他們是整數(shù)一樣,這允許你可以將2個(gè)字符相加,或?qū)σ粋€(gè)字符變量值進(jìn)行增量操作。運(yùn)算符移位運(yùn)算符只能針對(duì)二進(jìn)制數(shù)據(jù)(整數(shù)) 右移,右移一位相當(dāng)于除2取整,兩位相當(dāng)于連續(xù)除2取整而不是除4取整,看正數(shù)還是負(fù)數(shù),正數(shù)右移的話高位補(bǔ)0,負(fù)數(shù)的話補(bǔ)1; 無符號(hào)右移(算數(shù)右移),不考慮符號(hào)位,移進(jìn)來的都補(bǔ)0。位運(yùn)算符& 按位與,兩個(gè)數(shù)按位與,全部轉(zhuǎn)換成二進(jìn)制后按位比較,全為1才是1,其它是0,返回一個(gè)新的整數(shù);| 按位或,兩個(gè)數(shù)按位或,全部轉(zhuǎn)換
31、成二進(jìn)制后按位比較,全為0才是0,其它是1,返回一個(gè)新的整數(shù); 按位異或,兩個(gè)數(shù)的二進(jìn)制位數(shù)比較,相同結(jié)果為0,相異結(jié)果為1; 按位求反,把一個(gè)數(shù)二進(jìn)制的每一位都反過來。邏輯運(yùn)算符& 短路與,兩邊如果左邊是假的話就不再判斷右邊的,直接返回假;| 短路或,兩邊如果有一個(gè)為真的就不再判斷右邊的,直接返回真;& 與,不管怎樣兩邊都會(huì)判斷,都為真才返回真;| 或,不管怎樣兩邊都會(huì)判斷,都為假才返回假。流程控制switchswitch后括號(hào)中的值必須是int,byte,char,short,枚舉類型的變量之一,其它類型的就不行了;每個(gè)case后面的值必須是不相等的,而且必須是常量;如果每個(gè)case冒號(hào)后
32、面的語句執(zhí)行完后沒有break,還會(huì)繼續(xù)執(zhí)行后面case里的語句,所以在每個(gè)case的語句結(jié)束后加一個(gè)break;多個(gè)case可以可并到一起,表示或的關(guān)系;default代表如果和所有case后的值都不匹配,就執(zhí)行這里的語句。無論default寫哪都是最后執(zhí)行的。public class Grade public static void main(String args) Scanner sca = new Scanner(System.in);System.out.println(請(qǐng)輸入一個(gè)百分?jǐn)?shù):);int s = sca.nextInt();if (s 100) System.out.p
33、rintln(ERROR DATA:S);System.exit(0);/ 退出這個(gè)程序switch (s / 10) case 10:case 9:System.out.println(A);break;case 8:System.out.println(B);break;case 7:System.out.println(C);break;case 6:System.out.println(D);break;default:System.out.println(E);break;break和continuebreak退出當(dāng)前的循環(huán)體,在嵌套循環(huán)中,只退出當(dāng)前的一層循環(huán);continue結(jié)束
34、當(dāng)前本次循環(huán),繼續(xù)進(jìn)行下一輪的循環(huán)??梢哉f,只是本次忽略循環(huán)內(nèi)后面的語句;continue只能在循環(huán)體內(nèi)用;break可以用在任意代碼塊中,表示退出當(dāng)前程序塊(配合標(biāo)簽使用,很好用)。方法構(gòu)造方法每次在創(chuàng)建實(shí)例變量,對(duì)類中的所有變量都要初始化是很乏味的。如果在一個(gè)對(duì)象最初被創(chuàng)建時(shí)就把對(duì)它的設(shè)置做好,那樣的話,程序?qū)⒏唵尾⑶腋喢?。因?yàn)閷?duì)初始化的要求是共同的,Java允許對(duì)象在他們被創(chuàng)造時(shí)初始化自己。這種自動(dòng)的初始化是通過使用構(gòu)造方法來完成的。構(gòu)造方法在對(duì)象創(chuàng)建時(shí)初始化。一旦定義了構(gòu)造方法,在對(duì)象創(chuàng)建后,在new運(yùn)算符完成前,構(gòu)造方法立即自動(dòng)調(diào)用。構(gòu)造方法看起來有點(diǎn)奇怪,因?yàn)樗鼪]有任何返回值,
35、即使是void型的值也不返回。這是因?yàn)橐粋€(gè)類的構(gòu)造方法內(nèi)隱藏的類型是它自己類的類型。構(gòu)造方法的任務(wù)就是初始化一個(gè)對(duì)象的內(nèi)部狀態(tài),以便使創(chuàng)建的實(shí)例變量能夠完全初始化,可以被對(duì)象馬上使用。方法重載在Java中,同一個(gè)類中的2個(gè)或2個(gè)以上的方法可以有同一個(gè)名字,只要它們的參數(shù)聲明不同即可。在這種情況下,該方法就被稱為重載(overloaded)。當(dāng)一個(gè)重載方法被調(diào)用時(shí),Java用參數(shù)的類型和(或)數(shù)量來表明實(shí)際調(diào)用的重載方法的版本。因此,每個(gè)重載方法的參數(shù)的類型和(或)數(shù)量必須是不同的。當(dāng)一個(gè)重載的方法被調(diào)用時(shí),Java在調(diào)用方法的參數(shù)和方法的自變量之間尋找匹配。但是,這種匹配并不總是精確的。在一些
36、情況下,Java的自動(dòng)類型轉(zhuǎn)換也適用于重載方法的自變量。例如: class OverloadDemo void test(double a) System.out.println(Inside test(double) a: + a); class Overload public static void main(String args) OverloadDemo ob = new OverloadDemo(); int i = 88; ob.test(i); OverloadDemo的這個(gè)版本沒有定義test(int)。因此當(dāng)在Overload內(nèi)帶整數(shù)參數(shù)調(diào)用test()時(shí),找不到和它匹配的
37、方法。但是,Java可以自動(dòng)地將整數(shù)轉(zhuǎn)換為double型,這種轉(zhuǎn)換就可以解決這個(gè)問題。因此,在test(int)找不到以后,Java將i擴(kuò)大到double型,然后調(diào)用test(double)。當(dāng)然,如果定義了test(int),當(dāng)然先調(diào)用test(int)而不會(huì)調(diào)用test(double)。只有在找不到精確匹配時(shí),Java的自動(dòng)轉(zhuǎn)換才會(huì)起作用。thisthis等價(jià)于當(dāng)前對(duì)象,調(diào)用當(dāng)前對(duì)象的屬性或方法就用this.屬性名,或this.方法名()。當(dāng)前對(duì)象:指誰在調(diào)用當(dāng)前這個(gè)方法和屬性,誰就是當(dāng)前對(duì)象。在定義類的時(shí)候是不存在當(dāng)前對(duì)象的。在局部變量與外部變量同名的時(shí)候,為了區(qū)分,就要在外部變量的前面
38、加一個(gè)this來表示這個(gè)變量是類的全局變量。繼承盡管子類包括超類的所有成員,它不能訪問超類中被聲明成private的成員。子類的對(duì)象可以調(diào)用父類的一切公有的變量和方法,也可以擴(kuò)展自己新的屬性和方法,但是新擴(kuò)展的部分父類的對(duì)象是無法調(diào)用的。super在子類的構(gòu)造方法中調(diào)用父類的構(gòu)造方法,并且super要放在第一行,不能與this一起用,主要用為在構(gòu)造子類的時(shí)候給父類中定義的變量賦值:任何子類的構(gòu)造方法都會(huì)調(diào)用父類的構(gòu)造方法:因?yàn)檎{(diào)用構(gòu)造方法和創(chuàng)建一個(gè)對(duì)象是綁在一起的,而一個(gè)子類對(duì)象的一部分可以看做是父類對(duì)象,所以當(dāng)創(chuàng)建一個(gè)子類對(duì)象時(shí)一定是先創(chuàng)建一個(gè)父類的對(duì)象,再在父類對(duì)象的基礎(chǔ)上擴(kuò)展(exten
39、ds)成一個(gè)子類對(duì)象。注意:自始至終只創(chuàng)建了一個(gè)對(duì)象,因?yàn)閯?chuàng)建的那一個(gè)子類對(duì)象的一部分是父類對(duì)象(上帝想創(chuàng)造一個(gè)科學(xué)家,肯定是先創(chuàng)造一個(gè)人,在人的基礎(chǔ)上進(jìn)行教育培訓(xùn)等,最終變成一個(gè)科學(xué)家,而最初的人和最后的科學(xué)家其實(shí)是一個(gè)對(duì)象);任何子類的構(gòu)造方法的第一行必須是this(.)或super(.)的調(diào)用,如果程序員不寫,則系統(tǒng)會(huì)隱含的調(diào)用super(),也就是說子類無論如何都會(huì)調(diào)用父類的構(gòu)造方法,沒寫就調(diào)用父類的無參構(gòu)造方法;子類構(gòu)造方法的第一行只能出現(xiàn)this(.),super(.)這兩種情況,無論怎么調(diào)用,最終總能找到父類構(gòu)造方法,否則造成死循環(huán)。因?yàn)槿绻宇惖哪硞€(gè)構(gòu)造方法的第一行出現(xiàn)this
40、(.),此時(shí)系統(tǒng)不會(huì)加上缺省的super()那么this(.)會(huì)調(diào)用子類的其他構(gòu)造方法,所以子類的構(gòu)造方法之間開始調(diào)用,如果子類的所有的構(gòu)造方法的第一行全都是this(.)那便構(gòu)成了一個(gè)死循環(huán)。多態(tài)(polymorphism)對(duì)象的多態(tài):一個(gè)對(duì)象多種形態(tài)。方法的重載和覆蓋就是方法多態(tài)的一種體現(xiàn);對(duì)象多態(tài)的基礎(chǔ):子類對(duì)象可以當(dāng)作父類對(duì)象來看,例如:Animal a=new Bird();多態(tài)定理:如果我們把子類對(duì)象當(dāng)作父類對(duì)象來看,那么就只能訪問父類中已有定義的屬性和方法(不能訪問子類擴(kuò)展的屬性和方法)。如果子類覆蓋了父類的方法,再把子類對(duì)象當(dāng)作父類對(duì)象去調(diào)用該方法時(shí),調(diào)用的是子類覆蓋后的方法(
41、對(duì)象的行為不可能因?yàn)槟惆阉?dāng)作什么來看而改變);Animal a=new Bird()左邊是編譯時(shí)類型:在代碼編譯過程中,編譯器把這個(gè)對(duì)象當(dāng)作什么來看?(父類對(duì)象)。右邊是運(yùn)行時(shí)類型:在代碼執(zhí)行過程中,JVM把這個(gè)對(duì)象當(dāng)作什么看?(子類對(duì)象)。左邊是主觀認(rèn)為(我們把a(bǔ)當(dāng)作什么看?),右邊是客觀存在(a實(shí)際是什么)。當(dāng)你把鳥當(dāng)動(dòng)物看時(shí),你知道它是動(dòng)物,但你不知道它是鳥,所以你知道它會(huì)走會(huì)吃,但你不知道它會(huì)唱歌(相當(dāng)于編譯器把它當(dāng)Animal),所以你不會(huì)試圖去調(diào)用它的唱歌的方法,因?yàn)槟愀揪筒恢浪鼤?huì)唱歌。當(dāng)你調(diào)用move()方法時(shí),它會(huì)flying,因?yàn)樗举|(zhì)上還是個(gè)鳥,不會(huì)因?yàn)槟惆阉?dāng)作動(dòng)物
42、而不會(huì)飛用走的路。instanceof當(dāng)發(fā)生多層次復(fù)雜的繼承機(jī)構(gòu)時(shí),往往使程序員自己都搞不清楚最后這個(gè)對(duì)象到底是什么了,這時(shí)就需要提供一個(gè)方法來判斷一下了。判斷一個(gè)對(duì)象是不是某一個(gè)類型的實(shí)例,看這個(gè)對(duì)象能不能作為這個(gè)對(duì)象實(shí)例來看(看這個(gè)對(duì)象運(yùn)行時(shí)的類型,即看這個(gè)對(duì)象的客觀存在是什么)。static描述整體特征而不是個(gè)體特征的屬性時(shí),用靜態(tài)修飾符;有時(shí)你希望定義一個(gè)類成員,使它的使用完全獨(dú)立于該類的任何對(duì)象。通常情況下,類成員必須通過它的類的對(duì)象訪問,但是可以創(chuàng)建這樣一個(gè)成員,它能夠被它自己使用,而不必引用特定的實(shí)例。成員的聲明前面加上關(guān)鍵字static就能創(chuàng)建這樣的成員。如果一個(gè)成員被聲明為s
43、tatic,它就能夠在它的類的任何對(duì)象創(chuàng)建之前被訪問,而不必引用任何對(duì)象。你可以將方法和變量都聲明為static,static成員的最常見的例子是main(),因?yàn)樵诔绦蜷_始執(zhí)行時(shí)必須調(diào)用main(),所以它被聲明為static。聲明為static的變量實(shí)質(zhì)上就是全局變量,當(dāng)聲明一個(gè)對(duì)象時(shí),并不產(chǎn)生static變量的拷貝,而是該類所有的實(shí)例變量共用同一個(gè)static變量。聲明為static的方法有以下幾條限制它們僅能調(diào)用其他的static方法;它們只能訪問static數(shù)據(jù);它們不能以任何方式引用this或super。靜態(tài)變量和非靜態(tài)變量(實(shí)例變量)的差別空間分配時(shí)機(jī):靜態(tài)變量是在類加載的時(shí)候分
44、配空間,非靜態(tài)對(duì)象是在生成對(duì)象的時(shí)候分配空間;空間分配方式:不管有多少對(duì)象靜態(tài)變量只有一份(所有對(duì)象共享),非靜態(tài)變量有多少對(duì)象就分配多少個(gè)空間;訪問方式:靜態(tài)變量是:類名.屬性,比如Animal.COUNT;非靜態(tài)變量:對(duì)象名.屬性,比如。靜態(tài)方法和非靜態(tài)方法的區(qū)別靜態(tài)方法是通過類名來調(diào)用,非靜態(tài)方法是通過對(duì)象來調(diào)用;靜態(tài)方法中不能訪問本類的非靜態(tài)成員,但非靜態(tài)方法可以訪問靜態(tài)成員;靜態(tài)方法不存在多態(tài)特性,也就是靜態(tài)方法無法被子類覆蓋,父類對(duì)象調(diào)用此方法還是父類的。靜態(tài)代碼塊靜態(tài)代碼塊會(huì)在類被加載時(shí)被系統(tǒng)自動(dòng)執(zhí)行;一般可以在靜態(tài)代碼塊中給靜態(tài)屬性賦值;類的靜態(tài)代碼塊只能有一個(gè)。final聲明
45、為final的變量在實(shí)例中不占用內(nèi)存;一個(gè)final變量實(shí)質(zhì)上是一個(gè)常數(shù);修飾屬性時(shí)屬性不可變,并且屬性在聲明的時(shí)候必須初始化,或者在構(gòu)造方法中初始化一般與static一起用,一旦定義了,就不能再變了;修飾方法時(shí)方法不能被覆蓋;修飾類是類不能被繼承,表示最終的類,不能有子類;修飾局部變量時(shí)局部變量不可變(常量)。abstract用來修飾類和方法;修飾類的話表示這個(gè)類是個(gè)抽象類,抽象類不能被實(shí)例化(生成對(duì)象);修飾方法的話表示這個(gè)方法是個(gè)抽象方法,抽象方法沒有方法體;如果一個(gè)類包含有一個(gè)抽象方法,那么這個(gè)類必須是抽象類;如果一個(gè)類不包含抽象方法,那么該類也可以被定義成抽象類;抽象類不能被實(shí)例化,
46、但卻可以定義引用;抽象類一般需要實(shí)現(xiàn)-定義一個(gè)子類,并實(shí)現(xiàn)抽象方法;抽象類也是有構(gòu)造方法的,因?yàn)樾枰蛔宇愓{(diào)用;子類必須實(shí)現(xiàn)父類的抽象方法;abstract和final不能共同修飾一個(gè)類或方法;例如:定義一個(gè)Animal類,就可以定義成抽象類,move()方法可以定義成抽象方法,當(dāng)具體的子類繼承Animal時(shí),再覆蓋move()方法,鳥飛,魚游類的加載觸發(fā)類加載的幾種情況調(diào)用靜態(tài)成員時(shí),會(huì)加載靜態(tài)成員真正所在的類及其父類;通過子類調(diào)用父類的靜態(tài)成員時(shí),只會(huì)加載父類而不會(huì)加載子類;第一次new對(duì)象的時(shí)候加載(第二次再new同一個(gè)類時(shí),不需再加載);加載子類會(huì)先加載父類(覆蓋父類方法時(shí)所拋出的異常
47、不能超過父類定義的范圍);如果靜態(tài)屬性有final修飾時(shí),則不會(huì)加載,當(dāng)成常量使用,例如:public static final int a =123;但是如果上面的等式右值改成表達(dá)式(且該表達(dá)式在編譯時(shí)不能確定其值)時(shí)則會(huì)加載類,例如:public static final int a = math.PI如果訪問的是類的公開靜態(tài)常量,那么如果編譯器在編譯的時(shí)候能確定這個(gè)常量的值,就不會(huì)被加載,如果編譯時(shí)不能確定其值的話,則運(yùn)行時(shí)加載。類加載的順序加載靜態(tài)成員/代碼塊先遞歸地加載父類的靜態(tài)成員/代碼塊(Object的最先),再依次加載到本類的靜態(tài)成員。同一個(gè)類里的靜態(tài)成員/代碼塊,按寫代碼的順
48、序加載。如果其間調(diào)用靜態(tài)方法,則調(diào)用時(shí)會(huì)先運(yùn)行靜態(tài)方法,再繼續(xù)加載。同一個(gè)類里調(diào)用靜態(tài)方法時(shí),可以不理會(huì)寫代碼的順序。調(diào)用父類的靜態(tài)成員,可以像調(diào)用自己的一樣,但調(diào)用其子類的靜態(tài)成員,必須使用“子類名.成員名”來調(diào)用。加載非靜態(tài)成員/代碼塊(實(shí)例塊在創(chuàng)建對(duì)象時(shí)才會(huì)被加載,而靜態(tài)成員在不創(chuàng)建對(duì)象時(shí)可以加載)先遞歸地加載父類的非靜態(tài)成員/代碼塊(Object的最先),再依次加載到本類的非靜態(tài)成員。同一個(gè)類里的非靜態(tài)成員/代碼塊,按寫代碼的順序加載。同一個(gè)類里調(diào)用方法時(shí),可以不理會(huì)寫代碼的順序。但調(diào)用屬性時(shí),必須注意加載順序。一般編譯不通過,如果能在加載前調(diào)用,值為默認(rèn)初始值(如:null或者0)。
49、調(diào)用父類的非靜態(tài)成員(private除外),也可以像調(diào)用自己的一樣。調(diào)用構(gòu)造方法先遞歸地調(diào)用父類的構(gòu)造方法(Object的最先),默認(rèn)調(diào)用父類空參的,也可在第一行寫明調(diào)用父類某個(gè)帶參的。再依次到本類的構(gòu)造方法,構(gòu)造方法內(nèi),也可在第一行寫明調(diào)用某個(gè)本類其它的構(gòu)造方法。注意:如果加載時(shí)遇到override的成員,可看作是所需創(chuàng)建的類型賦值給當(dāng)前類型。其調(diào)用按多態(tài)用法:只有非靜態(tài)方法有多態(tài);而靜態(tài)方法、靜態(tài)屬性、非靜態(tài)屬性都沒有多態(tài)。假設(shè)子類override父類的所有成員,包括靜態(tài)成員、非靜態(tài)屬性和非靜態(tài)方法。由于構(gòu)造子類時(shí)會(huì)先構(gòu)造父類,而構(gòu)造父類時(shí),其所用的靜態(tài)成員和非靜態(tài)屬性是父類的,但非靜態(tài)方
50、法卻是子類的,由于構(gòu)造父類時(shí),子類并未加載,如果此時(shí)所調(diào)用的非靜態(tài)方法里有成員,則這個(gè)成員是子類的,且非靜態(tài)屬性是默認(rèn)初始值的。1、加載父類靜態(tài)成員/代碼塊2、加載子類靜態(tài)成員/代碼塊3、加載父類非靜態(tài)成員/代碼塊4、加載父類構(gòu)造方法5、加載子類非靜態(tài)成員/代碼塊6、加載子類構(gòu)造方法接口(interface)接口可以通過運(yùn)用關(guān)鍵字extends被其他接口繼承;當(dāng)一個(gè)類實(shí)現(xiàn)一個(gè)繼承了另一個(gè)接口的接口時(shí),它必須實(shí)現(xiàn)接口繼承鏈表中定義的所有方法;是一種抽象的數(shù)據(jù)類型,特殊的抽象類;接口中的所有方法都是抽象方法,就算不寫系統(tǒng)也會(huì)自動(dòng)加上abstract,所以一般就省去不寫了;接口中所有的屬性都是fin
51、al static的(靜態(tài)常量),就算不寫系統(tǒng)也會(huì)自動(dòng)加上,所以一般可以省去不寫了;接口也不能被實(shí)例化,但可以定義的接口的引用;接口沒有構(gòu)造方法,接口的實(shí)現(xiàn)類在生成對(duì)象時(shí)不會(huì)調(diào)用接口的構(gòu)造方法,類的子類在生成對(duì)象時(shí)一定要調(diào)用父類的構(gòu)造方法(所以子類長的像父類,卻不像接口);一個(gè)類只能繼承一個(gè)父類,但是可以實(shí)現(xiàn)多個(gè)接口,用逗號(hào)隔開;接口之間可以多繼承;接口=標(biāo)準(zhǔn):把服務(wù)的使用者和服務(wù)的提供者分開,降低系統(tǒng)的耦合,有效的提高軟件的可擴(kuò)展性和可維護(hù)性;接口聲明中可以聲明變量,它們一般是final和static型的,意思是它們的值不能通過實(shí)現(xiàn)類而改變,它們還必須以常量值初始化,如果接口本身定義成pub
52、lic,所有方法和變量都是public的。訪問控制訪問控制(access control)訪問指示符(access specifier)staticfinalabstractpublicprotected默認(rèn)private頂層類NYYYNYN屬性YYNYNYY方法YYYYYYY局部變量NYNNNNN成員式內(nèi)部類YYYYYYY局部式內(nèi)部類NYYNNNNObject類構(gòu)造方法只有唯一的一個(gè),并且無參。clone()protected clone() throws 創(chuàng)建并返回一個(gè)當(dāng)前對(duì)象的拷貝,得到和當(dāng)前對(duì)象一模一樣的對(duì)象。clone()方法滿足:對(duì)任何的對(duì)象x,都有x.clone()!=x;克隆對(duì)
53、象與原對(duì)象不是同一個(gè)對(duì)象了;對(duì)任何的對(duì)象x,都有x.clone().getClass=x.getClass();克隆對(duì)象與原對(duì)象的類型一樣;如果對(duì)象x的equals方法定義恰當(dāng),那么x.clone().equals(x)應(yīng)該成立。對(duì)象克隆過程要讓這個(gè)類實(shí)現(xiàn)java.lang.Cloneable接口Cloneable接口,指示方法可以合法地對(duì)該類實(shí)例進(jìn)行按字段復(fù)制。如果在沒有實(shí)現(xiàn)Cloneable接口的實(shí)例上調(diào)用Object的clone方法,則會(huì)導(dǎo)致拋出CloneNotSupportedException異常。按照慣例,實(shí)現(xiàn)此接口的類應(yīng)該使用公共方法重寫Object.clone(它是受保護(hù)的)。
54、注意,此接口不包含clone方法。因此,因?yàn)槟硞€(gè)對(duì)象實(shí)現(xiàn)了此接口就克隆它是不可能的。即使clone方法是反射性調(diào)用的,也無法保證它將獲得成功。Cloneable接口沒有任何方法,像Cloneable這樣的接口叫做標(biāo)記接口,即標(biāo)記這個(gè)類的實(shí)例可以調(diào)用clone方法,只是起到一個(gè)標(biāo)記的作用。覆蓋Object中的clone()方法,并將訪問權(quán)限改為publicclone();方法的訪問修飾符是protected,這意味著,在子類中直接去super.clone();是可以的,但是如果想在第三方類中去生成一個(gè)子類對(duì)象后再取調(diào)用clone()時(shí)就不可以了,所以這時(shí)就得在子類中去覆蓋Object的clone
55、方法,并將訪問控制修飾符改為public。如果只是希望淺復(fù)制,那么使用這樣的代碼就可以完成public Object clone() throws CloneNotSupportedException return super.clone();這段代碼表示,覆蓋Object中的clone方法,將訪問控制修飾符改為public,然后再去調(diào)用Object的clone方法。clone方法有具體的實(shí)現(xiàn)步驟代碼,這叫做是實(shí)現(xiàn)方法。因?yàn)閏lone方法涉及到底層數(shù)據(jù)的訪問,一般的程序員是沒有辦法寫出這些代碼的,所以用這樣的一個(gè)簡單的步驟就可以達(dá)到clone的目的了。淺復(fù)制和深復(fù)制概念淺復(fù)制(淺克?。┍粡?fù)制對(duì)
56、象的所有變量都含有原來的對(duì)象的相同的值,而所有的對(duì)其他對(duì)象的引用仍然指向原來的對(duì)象。換言之,淺復(fù)制僅僅復(fù)制所考慮的對(duì)象,而不是復(fù)制它所引用的對(duì)象。深復(fù)制(深克?。┍粡?fù)制對(duì)象的所有變量都含有與原來的對(duì)象相同的值,除去那些引用其他對(duì)象的變量。那些引用其他對(duì)象的變量將指向被復(fù)制過的新對(duì)象,而不再是原有的那些被引用的對(duì)象。換言之,深復(fù)制把要復(fù)制的對(duì)象所引用的對(duì)象都復(fù)制了一遍。例如:一個(gè)Student對(duì)象包含ID,姓名,Teacher等屬性。其中ID為基本類型,姓名為String類型,Teacher為一個(gè)Teacher對(duì)象。淺復(fù)制只復(fù)制一個(gè)新的ID,而姓名和Teacher只復(fù)制地址。即,復(fù)制后的新對(duì)象姓
57、名和Teacher仍然指向原先的Stuent的姓名和Teacher。而深復(fù)制會(huì)連同姓名和Teacher也同樣復(fù)制出來,并且與原對(duì)象的地址不同,指向不同的對(duì)象。finalize()構(gòu)造方法負(fù)責(zé)對(duì)象創(chuàng)建后的初始化,finalize方法負(fù)責(zé)對(duì)象消亡時(shí)的資源釋放;finalize方法被垃圾收集器自動(dòng)調(diào)用,而垃圾收集器有可能根本不執(zhí)行,所以沒有辦法保證finalize方法一定執(zhí)行。equals(Object obj)下面是Object中的equals方法源碼: public boolean equals(Object obj) return (this = obj); toString()返回該對(duì)象的字
58、符串表示。通常,toString 方法會(huì)返回一個(gè)“以文本方式表示”此對(duì)象的字符串。結(jié)果應(yīng)是一個(gè)簡明但易于讀懂的信息表達(dá)式。建議所有子類都重寫此方法。Object 類的 toString 方法返回一個(gè)字符串,該字符串由類名(對(duì)象是該類的一個(gè)實(shí)例)、at 標(biāo)記符“”和此對(duì)象哈希碼的無符號(hào)十六進(jìn)制表示組成。換句話說,該方法返回一個(gè)字符串,它的值等于:getClass().getName() + + Integer.toHexString(hashCode()String類及對(duì)象池在JDK5.0里面,Java虛擬機(jī)在啟動(dòng)的時(shí)候會(huì)實(shí)例化9個(gè)對(duì)象池,這9個(gè)對(duì)象池分別用來存儲(chǔ)8種基本類型的包裝類對(duì)象和Str
59、ing對(duì)象。對(duì)象池的存在是為了避免頻繁的創(chuàng)建和銷毀對(duì)象而影響系統(tǒng)性能。對(duì)象池是獨(dú)立于棧空間和堆空間的,保存著指向一些對(duì)象的首地址。String a=hello;首先把hello這個(gè)對(duì)象創(chuàng)建出來,并保存在堆中。然后對(duì)象池會(huì)保存一個(gè)指向hello的首地址。如果a是某個(gè)方法內(nèi)的局部變量,那么也會(huì)在棧中將hello的首地址保存在a中。如果a的地址值被賦為null,也就是a不再指向hello了,此時(shí)hello并沒有成為垃圾,因?yàn)閷?duì)象池中始終保存了hello的首地址指向hello。而對(duì)象池中的那些地址值,程序員是不能直接管理的,那是由JVM才能直接管理的。下次如果需要String b=hello;創(chuàng)建he
60、llo對(duì)象,那么b會(huì)去對(duì)象池中找那些地址值,如果找到了指向hello對(duì)象的地址,那么會(huì)將這個(gè)地址直接賦給b。如果沒有與之匹配的,才會(huì)創(chuàng)建新的對(duì)象,并同樣將這個(gè)對(duì)象的首地址保存在對(duì)象池中。String c=new String(hello);系統(tǒng)會(huì)直接在堆空間中創(chuàng)建一個(gè)新的hello對(duì)象,而不會(huì)去對(duì)象池中找,而且這樣創(chuàng)建的新的hello對(duì)象也不會(huì)保存在對(duì)象池去。注意注意:String s=new String(hello);直接只有這條語句的時(shí)候,這里的hello作為一個(gè)參數(shù)傳給String,而此時(shí)沒有hello這個(gè)對(duì)象,那么:首先會(huì)創(chuàng)建一個(gè)hello對(duì)象,并且將這個(gè)hello對(duì)象的首地址保存在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 典當(dāng)房地產(chǎn)借款合同書
- 工程截樁施工合同
- 太陽能系統(tǒng)維保合同協(xié)議書
- 簽訂合同規(guī)范建議和意見
- 建筑安裝工程合同承包條例
- 聘用合同的類型包括
- 湖南勞動(dòng)人事職業(yè)學(xué)院《道路工程經(jīng)濟(jì)與管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京交通職業(yè)技術(shù)學(xué)院《區(qū)域分析與規(guī)劃》2023-2024學(xué)年第二學(xué)期期末試卷
- 皖南醫(yī)學(xué)院《火電廠燃燒優(yōu)化及系統(tǒng)節(jié)能》2023-2024學(xué)年第二學(xué)期期末試卷
- 滄州職業(yè)技術(shù)學(xué)院《基礎(chǔ)翻譯》2023-2024學(xué)年第二學(xué)期期末試卷
- 育嬰員初級(jí)培訓(xùn)
- 醫(yī)療廢物管理?xiàng)l例
- 新能源汽車三電系統(tǒng)培訓(xùn)教材
- 慢性乙型肝炎防治指南(2022年版)解讀
- DB43T 578-2016 銻冶煉砷堿渣無害化處理技術(shù)規(guī)范
- 建筑與市政工程地下水控制技術(shù)規(guī)范 JGJ111-2016 培訓(xùn)
- 2024年汽車裝調(diào)工技能競賽理論考試題庫(含答案)
- (新版)區(qū)塊鏈應(yīng)用操作員職業(yè)技能競賽理論考試題庫-上(單選題)
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗(yàn)人員理論考試題庫及答案
- 高中英語課程設(shè)計(jì)目的
- 2024-2025學(xué)年北京一零一中學(xué)初三期初測試數(shù)學(xué)試題含解析
評(píng)論
0/150
提交評(píng)論