版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
面向?qū)ο蟮幕A(chǔ)思想1類與對象(重點(diǎn))類與對象的基本關(guān)系類與對象是整個面向?qū)ο蟾拍钪械淖顬橹匾慕M成部分。類:類是對整個現(xiàn)實(shí)世界的一種合理的抽象,是一種共性的產(chǎn)物,在類之中主要有兩個組成部分:屬性(變量)、行為(方法);對象:是一個具體的,可以使用的產(chǎn)物,是一種個性的表示。實(shí)際上類中規(guī)定了一個對象的具體行為,而對象是一個類的具體表現(xiàn)。類只有通過對象才可以使用,所以在開發(fā)之中一定要先有類之后再定義對象。在Java之中可以使用class關(guān)鍵字來定義一個類。classPerson{ //類名稱要求大寫Stringname; //這個時候可以不寫默認(rèn)值,它對應(yīng)的數(shù)據(jù)類型默認(rèn)值有效intage; //年齡publicvoidtell(){ //此處的方法暫時不加上staticSystem.out.println("姓名:"+name+",年齡:"+age);)}但是一個類產(chǎn)生之后就好比汽車的設(shè)計(jì)圖紙那樣,本身并不能直接使用,必須按照圖紙生產(chǎn)出具體的汽車之后才可以開,所以需要對象,而對象定義格式如下:?格式一:聲明并實(shí)例化對象類名稱對象名稱=new類名稱();格式二:分步完成聲明對象:類名稱對象名稱=null;實(shí)例化對象:對象名稱=new類名稱();通過以上的格式可以發(fā)現(xiàn),依然存在了關(guān)鍵字new,所以這一操作也一定表示要開辟堆內(nèi)存空間,同時需要注意的是,當(dāng)一個對象開辟空間之后可以按照如下的兩個方式來操作類中的內(nèi)容:操作類中的屬性:對象.屬性;操作類中的方法:對象.方法();范例:聲明并實(shí)例化對象classPerson{ //類名稱要求大寫Stringname; //這個時候可以不寫默認(rèn)值,它對應(yīng)的數(shù)據(jù)類型默認(rèn)值有效intage; //年齡publicvoidtell(){ //此處的方法暫時不加上staticSystem.out.println("姓名:"+name+",年齡:"+age);}publicclassTest{publicstaticvoidmain(Stringargs[]){Personper=newPerson();="張三";per.age=30;「0;但是類本身屬于引用數(shù)據(jù)類型,所以以上的程序依然要牽扯到內(nèi)存的劃分,同樣使用兩塊內(nèi)存:堆內(nèi)存:保存的是每一個對象所具備的屬性;棧內(nèi)存:保存的是一塊堆內(nèi)存的使用地址,可以簡單理解為對象名稱。淺深入引用傳遞清楚了以上的內(nèi)存關(guān)系之后,下面再來對另外一個類似的程序進(jìn)行觀察。如果說現(xiàn)在同時產(chǎn)生了兩個,Person對象,那么這兩個對象之間會互相影響嗎?classPerson{ //類名稱要求大寫Stringname; //這個時候可以不寫默認(rèn)值,它對應(yīng)的數(shù)據(jù)類型默認(rèn)值有效intage; //年齡publicvoidtell(){ //此處的方法暫時不加上staticSystem.out.println("姓名:"+name+",年齡:"+age);))publicclassTest{publicstaticvoidmain(Stringargs[]){Personper1=newPerson();Personper2=newPerson();="張三";perl.age=30;="李四";per2.age=50;per1.tell();per2.tell();))只要發(fā)現(xiàn)了關(guān)鍵字new,那么一定表示要開辟的是一塊新的內(nèi)存空間,每一塊堆內(nèi)存空間都有一個棧內(nèi)存指向它。范例:觀察如下程序classPerson{ //類名稱要求大寫Stringname; //這個時候可以不寫默認(rèn)值,它對應(yīng)的數(shù)據(jù)類型默認(rèn)值有效intage; //年齡publicvoidtell(){ //此處的方法暫時不加上staticSystem.out.println("姓名:"+name+",年齡:"+age);))publicclassTest{publicstaticvoidmain(Stringargs[]){Personper=null; //聲明對象per=newPerson();//實(shí)例化對象="張三";per.age=30;per.tell();))
二null:二null:=?。籶er..age=30:但是如果現(xiàn)在在以上的代碼之中,缺少了一行代碼呢?publicclassTest{publicstaticvoidmain(Stringargs[]){Personper=null; //聲明對象//per=newPerson();//實(shí)例化對象="張三";per.age=30;per.tell();)}發(fā)現(xiàn)現(xiàn)在一個per對象沒有進(jìn)行實(shí)例化的操作,這個時候程序編譯沒有任何的語法錯誤,但是程序執(zhí)行的時候出現(xiàn)了以下的錯誤提示:Exceptioninthread"main"java.lang.NullPointerExceptionatTest.main(Test.java:12)現(xiàn)在給出的是“NullPointerException”,表示空指向異常。此異??隙〞殡S你的開發(fā)人生走完的那一刻,此異常只有在引用數(shù)據(jù)類型操作的時候才會出現(xiàn)。NullPointerException更準(zhǔn)確的講法是指使用只聲明而未開辟空間的引用類型所造成的問題,所以為了區(qū)分此概念,以后對于對象而言,在操作上就會給出兩個不同的名詞:?聲明對象:只開辟了棧內(nèi)存空間的對象,無法直接使用;?實(shí)例化對象:有了對應(yīng)的堆內(nèi)存空間指向,可以使用;以上的分析流程和數(shù)組是完全一樣的,因?yàn)閿?shù)組也屬于引用數(shù)據(jù)類型,在數(shù)組學(xué)習(xí)的時候強(qiáng)調(diào)過,所謂的引用傳遞實(shí)際上指的就是一塊堆內(nèi)存空間可以同時被多個棧內(nèi)存所指向的操作,那么對于類也是一樣的,引用傳遞指的是一塊堆內(nèi)存同時被不同的對象(不同的棧)所指向。范例:觀察引用傳遞classPerson{ //類名稱要求大寫Stringname; //這個時候可以不寫默認(rèn)值,它對應(yīng)的數(shù)據(jù)類型默認(rèn)值有效intage; //年齡publicvoidtell(){ //此處的方法暫時不加上staticSystem.out.println("姓名:"+name+",年齡:"+age);}}
范例:分析以下的程序運(yùn)行classPerson{ //類名稱要求大寫Stringname; //這個時候可以不寫默認(rèn)值,它對應(yīng)的數(shù)據(jù)類型默認(rèn)值有效intage; //年齡publicvoidtell(){ //此處的方法暫時不加上staticSystem.out.println("姓名:"+name+",年齡:"+age);))publicclassTest{publicstaticvoidmain(Stringargs[]){Personper1=newPerson();//實(shí)例化對象Personper2=newPerson();//聲明對象="張三";perl.age=30;="李四";per2.age=40;per2=perl;="小黃";per1.tell();)
二“-'Wper2.nam?=”李四”;perZ.age=40:perl.n^me=飛長二”:Pe二“-'Wper2.nam?=”李四”;perZ.age=40:perl.n^me=飛長二”:Pe「sonperl=newPersonf);Personper2=newF1巳「son{;perl.age=30:="小黃";,.小四:?所謂的垃圾空間實(shí)際上就是指的沒有任何的棧內(nèi)存指向的堆內(nèi)存空間,所有的垃圾空間要等待JVM不定期的進(jìn)行垃圾回收(GC),以釋放內(nèi)存空間,不過雖然有了所謂的垃圾回收機(jī)制,從實(shí)際的開發(fā)來講,應(yīng)該盡量的去避免垃圾的產(chǎn)生。2封裝性的基本實(shí)現(xiàn)(重點(diǎn))封裝性是作為面向?qū)ο蟮谝淮筇卣鳎切枰嵝训氖?,本次所講解的封裝性只是針對于一種基本的實(shí)現(xiàn),而Java之中的封裝性是與權(quán)限有關(guān)的。在真正的去研究封裝操作之前,首先來觀察這樣的一個程序:classPerson{ //類名稱要求大寫Stringname; //這個時候可以不寫默認(rèn)值,它對應(yīng)的數(shù)據(jù)類型默認(rèn)值有效intage; //年齡publicvoidtell(){ //此處的方法暫時不加上staticSystem.out.println("姓名:"+name+",年齡:"+age);))publicclassTest{publicstaticvoidmain(Stringargs[]){Personper=newPerson();//實(shí)例化對象="張三";per.age=-3000;per.tell();)}這個時候程序依然可以執(zhí)行,因?yàn)樵趇nt的數(shù)據(jù)范圍之中本身就包含了負(fù)數(shù),所以從技術(shù)上來講,本程序沒有任何的問題,但是從實(shí)際生活這樣也完全不靠譜,所以這個時候按照開發(fā)的術(shù)語來講是業(yè)務(wù)上有問題了。而造成這一問題的本質(zhì)在于屬性沒有經(jīng)過任何的檢查,并且可以在類的外部直接操作,所以要想解決問題,就必須讓屬性對外部不可見,可以使用private進(jìn)行屬性的定義。classPerson{ //類名稱要求大寫privateStringname;//這個時候可以不寫默認(rèn)值,它對應(yīng)的數(shù)據(jù)類型默認(rèn)值有效privateintage;//年齡publicvoidtell(){ //此處的方法暫時不加上staticSystem.out.println("姓名:"+name+",年齡:"+age);))publicclassTest{publicstaticvoidmain(Stringargs[]){Personper=newPerson();//實(shí)例化對象="張三";//namehasprivateaccessinPersonper.age=-3000;//agehasprivateaccessinPersonper.tell();)}現(xiàn)在給出的提示是name和age兩個屬性在Person類之中是屬于私有的訪問,所以類的外部無法使用,即:使用private定義的內(nèi)容只能在當(dāng)前類中起作用。而當(dāng)屬性使用了private封裝之后,按照J(rèn)avaEE的標(biāo)準(zhǔn)來講,此時就必須使用如下的方法格式進(jìn)行屬性的操作,以name屬性為例,現(xiàn)在已經(jīng)使用了private封裝:?設(shè)置屬性內(nèi)容(setter):publicvoidsetName(Stringn); setter要檢查. ?取得屬性內(nèi)容(getter):publicStringgetName();classPerson{ //類名稱要求大寫privateStringname;//這個時候可以不寫默認(rèn)值,它對應(yīng)的數(shù)據(jù)類型默認(rèn)值有效privateintage;//年齡publicvoidtell(){ //此處的方法暫時不加上staticSystem.out.println("姓名:"+name+",年齡:"+age);}publicvoidsetName(Stringn){name=n;}publicvoidsetAge(inta){if(a>=0&&a<=250){age=a;}}publicStringgetName(){returnname;}publicintgetAge(){returnage;}}publicclassTest{publicstaticvoidmain(Stringargs[]){Personper=newPerson();//實(shí)例化對象per.setName("張三”);per.setAge(30);per.tell();)J以后只要是類中的屬性都必須使用private封裝,封裝之后的屬性一定要使用setter、getter設(shè)置和取得。3構(gòu)造方法(重點(diǎn)在之前所使用的對象產(chǎn)生格式:類名稱對象名稱=new類名稱();現(xiàn)在可以對以上的格式分析一下:“類名稱對象名稱”,這個操作意味著聲明一個指定類型的對象。而后new表示要開辟一個新的堆內(nèi)存空間,但是在最后有一個“類名稱()”,一旦操作后面有“()”表示的是一個方法,那這個就是構(gòu)造方法,所以對于構(gòu)造方法在之前一直在使用。范例:觀察構(gòu)造classPerson{ //類名稱要求大寫privateStringname;//這個時候可以不寫默認(rèn)值,它對應(yīng)的數(shù)據(jù)類型默認(rèn)值有效privateintage;//年齡publicPerson(){System.out.println("**********************,,);System.out.println()publicvoidtell(){ //此處的方法暫時不加上staticSystem.out.println("姓名:"+name+",年齡:"+age);)publicvoidsetName(Stringn){name=n;)publicvoidsetAge(inta){if(a>=0&&a<=250){age=a;))publicStringgetName(){returnname;)publicintgetAge(){returnage;))publicclassTest{publicstaticvoidmain(Stringargs[]){Personper=null; //實(shí)例化對象per=newPerson();per=newPerson();I」。er=newPerson();在一個類之中,構(gòu)造方法的定義要求如下:構(gòu)造方法的名稱和類的名稱要求完全一樣,如果classPerson,則構(gòu)造:Person();構(gòu)造方法沒有返回值類型聲明,并且也無法返回內(nèi)容。疑問:既然構(gòu)造方法之中沒有返回值,那么加上一個void是不是更清楚?咱們所謂的命名規(guī)范(類名稱的每個單詞首字母大寫,方法或?qū)傩缘牡谝粋€單詞首字母小寫,之后每個單詞的首字母大寫)都是人為規(guī)定的。所以如果在構(gòu)造方法上使用了一個void,編輯器根本就無法區(qū)分到底是普通方法還是構(gòu)造方法。構(gòu)造方法是在使用關(guān)鍵字new調(diào)用的,只能調(diào)用一次,而普通方法,只要有對象產(chǎn)生了就可以多次執(zhí)行調(diào)用,所以要從格式上區(qū)分。每當(dāng)使用關(guān)鍵字new實(shí)例化新的對象時,構(gòu)造方法都要被調(diào)用,但是這個時候也出現(xiàn)一個問題了,在之前貌似沒有編寫過構(gòu)造方法,那么為什么之前沒有錯呢?為了保證每一個類操作的方便,所以如果在一個類之中沒有明確的定義一個構(gòu)造方法的話,則會在編譯的時候自動的生成一個無參的,什么都不做的構(gòu)造方法:publicPerson(){//無參的,方法體為空的構(gòu)造方法}結(jié)論:在一個類之中至少存在一個構(gòu)造方法,如果一個類之中已經(jīng)明確定義一個構(gòu)造的話,則無參的什么都不做的構(gòu)造方法將不會再自動生成了。構(gòu)造方法的基本概念介紹完了,但是構(gòu)造方法有什么用呢?在之前所進(jìn)行的操作可以發(fā)現(xiàn)是按照如下的流程:實(shí)例化對象:Personper=newPerson();;調(diào)用類的setter方法設(shè)置內(nèi)容:per.setName("張三");、per.setAge(20);;很明顯,當(dāng)一個對象實(shí)例化之后就特別希望類中的屬性就有內(nèi)容了,這樣分別調(diào)用setter方法設(shè)置實(shí)在是不方便,所以可以使用構(gòu)造方法進(jìn)行屬性內(nèi)容的傳遞。classPerson{ //類名稱要求大寫privateStringname;//這個時候可以不寫默認(rèn)值,它對應(yīng)的數(shù)據(jù)類型默認(rèn)值有效privateintage;//年齡publicPerson(Stringn,inta){setName(n);setAge(a);}publicvoidtell(){ //此處的方法暫時不加上staticSystem.out.println("姓名:"+name+",年齡:"+age);}publicvoidsetName(Stringn){name=n;}publicvoidsetAge(inta){if(a>=0&&a<=250){age=a;IpublicStringgetName(){returnname;publicintgetAge(){returnage;publicclassTest{publicstaticvoidmain(Stringargs[]){Personper=newPerson("張三”,-20);;構(gòu)造方法的主要作用:是進(jìn)行對象中屬性的初始化操作。簡單點(diǎn)理解:就是一個類對象實(shí)例化的時候可以自動的完成一些操作。但是在這里面還有一個小說明,既然現(xiàn)在在構(gòu)造方法之中所調(diào)用的方法是本類中的方法,所以很多時產(chǎn)(在開發(fā)之中必須使用)都會使用一個this來強(qiáng)調(diào)一下是本類中的方法:publicPerson(Stringn,inta){Dthis.setName(n);this.setAge(a);既然構(gòu)造方法本身屬于方法,那么只要是方法就可以進(jìn)行方法的重載,但是構(gòu)造方法重載的時候根本就不用考慮方法名稱(因?yàn)槎几惷Q一樣),只需要考慮參數(shù)的類型及個數(shù)的不同即可。publicPerson(){publicPerson(Stringn){this.setName(n);publicPerson(Stringn,inta){this.setName(n);this.setAge(a);提示(以后解釋):在每一個對象的構(gòu)造過程(實(shí)例化過程),構(gòu)造方法是整個構(gòu)造過程的最后一步,所以如果現(xiàn)在在類中的一個屬性定義時存在了默認(rèn)值,那么這個默認(rèn)值也只有在構(gòu)造完成之后才會真正的賦值給這個屬性,其他的時候這個屬性的值都是其對應(yīng)數(shù)據(jù)類型的默認(rèn)值,例如:classStudent{privateStringname=11無名氏11;//默認(rèn)值publicStudent(){System.out.println("執(zhí)行的是構(gòu)造方法。。。");publicvoidprint(){ISystem.out.println(name);publicclassDemo{publicstaticvoidmain(Stringargs[]){Studentstu=newStudent();[二°;從理論上講,本類之中的name屬性的默認(rèn)值“無名氏”,只能構(gòu)造完成之后才可以真正的給name,其他的時候name的內(nèi)容就是null,但是這一特征如果要想通過代碼來驗(yàn)證,需要點(diǎn)時間。學(xué)習(xí)完構(gòu)造方法之后,發(fā)現(xiàn)在類之中就存在了三樣?xùn)|西:屬性、普通方法、構(gòu)造方法,所以這三樣?xùn)|西的編寫流程:1、定義屬性;編寫構(gòu)造:如果有多個構(gòu)造方法,則一定要按照參數(shù)的順序編寫(按照參數(shù)的個數(shù)升序或降序)3、普通方法:也需要考慮到參數(shù)的個數(shù);4匿名對象(重點(diǎn))匿名就是指沒有名字的對象,對于對象的內(nèi)存劃分,很明顯現(xiàn)在是有兩塊內(nèi)存,一塊是堆內(nèi)存,另外一塊是棧內(nèi)存空間,但是堆內(nèi)存是真正要使用的內(nèi)容,而棧只是保留了一塊堆內(nèi)存地址而已,就是一個表示堆內(nèi)存的名字,所以所謂的匿名對象指的就是沒有名字的堆內(nèi)存對象。classPerson{ //類名稱要求大寫privateStringname;//這個時候可以不寫默認(rèn)值,它對應(yīng)的數(shù)據(jù)類型默認(rèn)值有效privateintage;//年齡publicPerson(Stringn,inta){this.setName(n);this.setAge(a);)publicvoidtell(){ //此處的方法暫時不加上staticSystem.out.println("姓名:"+name+",年齡:"+age);)publicvoidsetName(Stringn){name=n;)publicvoidsetAge(inta){if(a>=0&&a<=250){age=a;))publicStringgetName(){returnname;(publicintgetAge(){returnage;publicclassTest{publicstaticvoidmain(Stringargs[]){[「ii但是由于匿名對象本身沒有名字,所以使用一次之后就稱為垃圾了,就要等待被回收。何種情況下需要匿名對象:一個對象只用一次,就匿名對象。5對象的比較和排序如果是簡單的對象之間是否相同的比較則直接重寫Object提供的equals()方法和hashCode();如果想進(jìn)行一組對象的比較,那么必須存在比較器的支持,而 Java之中的比較器有兩種:Comparable、Comparator,下面分別說明。.1、重寫equals()方法和hashCode()方法范例:在String類之中如果要想判斷兩個字符串的內(nèi)容是否相等,使用equals()方法,那么如果說現(xiàn)在有一個自定義類的兩個對象,要想判斷是否相等,這個時候肯定要將類之中的所有屬性依次進(jìn)行比較判斷。classPerson{privateStringname;privateintage;publicPerson(Stringname,intage){=name;this.age=age;publicintgetAge(){returnthis.age;publicStringgetName(){;publicclassTest{publicstaticvoidmain(Stringargs[]){Personper1=newPerson("張三”,20);Personper2=newPerson("張三”,20);if(per1.getName().equals(per2.getName())&&per1.getAge()==per2.getAge()){System.out.println("是同一個對象。");}else{System.out.println("不是同一個對象。");}}}如果從實(shí)際來講肯定是自己來處理省事,因?yàn)槿绻阉械谋容^操作交給了第三方去完成,那么就意味著,第三方必須清楚每一個操作的細(xì)節(jié),這樣做根本就不現(xiàn)實(shí),而一個好的設(shè)計(jì)客戶端不應(yīng)該參與更多的細(xì)節(jié)方面的內(nèi)容,關(guān)心的只是一個結(jié)果,而主方法就是一個客戶端,所以在這個客戶端之中不應(yīng)該牽扯到細(xì)節(jié)。為了解決這樣的問題,那么肯定要由類提供這一操作,所以應(yīng)該在Person類之中提供一個比較的操作方法。classPerson{privateStringname;privateintage;publicPerson(Stringname,intage){=name;this.age=age;}publicintgetAge(){returnthis.age;}publicStringgetName(){return;}?Overridepublicbooleanequals(Objecto){if(oinstanceofEmployee){Employeee=(Employee)o;returne.empno.equals(empno)&&e.ename.equals(ename)&&e.job.equals(job)&&e.sal.equals(sal)&&m.equals(comm);)returnfalse;)?OverridepublicinthashCode(){returnempno+ename.hashCode()+job.hashCode()+sal.hashCode()+comm.hashCode();)}publicclassTest{publicstaticvoidmain(Stringargs[]){Personperl=newPerson("張三”,20);Personper2=newPerson("張三”,20);if(pare(null)){System.out.println("是同一個對象。");}else{System.out.println("不是同一個對象。");}}}而對象的比較操作在日后課程講解以及開發(fā)之中,是一個極其重要的概念,一定要記住,對象比較是一個類自己提供的功能。.2常用的比較器:Comparable(核心首先來看一下Comparable接口的定義格式:publicinterfaceComparable<T>{publicintcompareTo(To);}在之前學(xué)習(xí)String的時候也學(xué)習(xí)過compareTo()方法,因?yàn)镾tring也是Comparable接口的子類,所以String類中的compareTo()方法也是覆寫而來,而如果是一個用戶自己定義的compareTo()方法可以返回三種,值:-1、1、0;packagecn.mldn.test;classPersonimplementsComparable<Person>{privateStringname;privateintage;publicPerson(Stringname,intage){super();=name;this.age=age;}@OverridepublicStringtoString(){return"姓名:"++",年齡:"+this.age+"\n";}@OverridepublicintcompareTo(Persono){if(this.age>o.age){return-1;}elseif(this.age<o.age){return1;}else{return0;}})publicclassTestDemo{publicstaticvoidmain(String[]args)throwsException{Personper[]=newPerson[]{newPerson("張三",20),newPerson("李四",19),newPerson("王五",22)};java.util.Arrays.sort(per);//數(shù)組排序System.out.println(java.util.Arrays.toString(per));}}可以發(fā)現(xiàn)Comparable接口是在一個類定義的時候就默認(rèn)實(shí)現(xiàn)好了的,所以是一個類本身自己的功能。6.2、挽救的比較器(了解)如果說現(xiàn)在定義了一個類,但是在定義類的時候并沒有考慮到排序問題。classPerson{privateStringname;privateintage;publicPerson(Stringname,intage){super();=name;this.age=age;}@OverridepublicStringtoString(){return"姓名:"++",年齡:"+this.age+"\n";}publicStringgetName(){returnname;}publicvoidsetName(Stringname){=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}}但是現(xiàn)在有一個新的要求出現(xiàn)了,突然希望可以對一組這樣類的對象進(jìn)行排序,而現(xiàn)在Person類無法修改,而又要同時滿足排序要求的話,只能使用另外一種比較器:Comparator,此接口定義如下:publicinterfaceComparator<T>{publicintcompare
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 營銷活動策劃方案母嬰(3篇)
- 飛機(jī)大科普知識
- 2026重慶沙坪壩區(qū)陳家橋社區(qū)衛(wèi)生服務(wù)中心招聘考試參考試題及答案解析
- 2026年公安部直屬事業(yè)單位鄭州警察學(xué)院招聘(55人)考試備考試題及答案解析
- 靜脈輸血安全監(jiān)測與風(fēng)險管理
- 2026年榆林市青少年宮圍棋老師招聘參考考試題庫及答案解析
- 2026北京市豐臺區(qū)消防救援支隊(duì)政府專職消防員招錄30人備考考試題庫及答案解析
- 臺州路橋農(nóng)商銀行2026年招聘開始啦!備考考試題庫及答案解析
- 2026上半年杭州市第七人民醫(yī)院公開招聘高層次人才25人備考考試試題及答案解析
- 2026浙江杭州市學(xué)軍小學(xué)教育集團(tuán)誠聘體育教師(非事業(yè))1人備考考試試題及答案解析
- 球囊導(dǎo)管擴(kuò)張技術(shù)課件
- 六年級上冊英語書詞匯表
- 《微電子封裝技術(shù)》課程教學(xué)大綱
- 城市軌道交通服務(wù)員(城市軌道交通站務(wù)員)考核要素細(xì)目表與考核內(nèi)容結(jié)構(gòu)表
- JBT 12530.4-2015 塑料焊縫無損檢測方法 第4部分:超聲檢測
- 江西省吉安市初中生物七年級期末下冊高分預(yù)測題詳細(xì)答案和解析
- 《中國心力衰竭診斷和治療指南2024》解讀(總)
- DZ∕T 0033-2020 固體礦產(chǎn)地質(zhì)勘查報(bào)告編寫規(guī)范(正式版)
- 瀝青拌合站方案
- (汪曉贊)運(yùn)動教育課程模型
- 輪機(jī)英語題庫
評論
0/150
提交評論