版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第十章內(nèi)部類★
外部類和內(nèi)部類★匿名內(nèi)部類和嵌套類★
為什么需要內(nèi)部類?第十章內(nèi)部類★外部類和內(nèi)部類110.6、匿名內(nèi)部類P1961、匿名內(nèi)部類的概念★匿名內(nèi)部類是沒有名字的內(nèi)部類2、什么情況下可以使用匿名內(nèi)部類?⑴只用到類的一個實例⑵類在定義后馬上用到⑶類非常?。⊿UN推薦是在4行代碼以下)⑷給類命名并不會導致代碼更容易被理解10.6、匿名內(nèi)部類P1961、匿名內(nèi)部類的概念23、匿名內(nèi)部類的使用原則⑴匿名內(nèi)部類不能有構造函數(shù)★構造函數(shù)與類名一致,但是現(xiàn)在這個類連名字都沒有⑵匿名內(nèi)部類一定是跟在new的后面★用以隱含實現(xiàn)一個接口或繼承一個類3、匿名內(nèi)部類的使用原則3⑶(匿名)內(nèi)部類中不能定義任何靜態(tài)的成員⑷因匿名內(nèi)部類為內(nèi)部類,所以內(nèi)部類的所有限制都對其生效,匿名內(nèi)部類對象可以(不)依附外部類對象。interfaceContents{intvalue();}⑶(匿名)內(nèi)部類中不能定義任何靜態(tài)的成員41、
publicclassParcel7//P197{
publicContentscont(){
//創(chuàng)建一個繼承自Contents的匿名類的對象
returnnewContents(){
publicintvalue(){return11;}
};//匿名內(nèi)部類定義結束,需要一個分號
}//cont方法定義結束publicstaticvoidmain(String[]args){
Parcel7p=newParcel7();
Contentsc=p.cont();
}}1、publicclassParcel752、上述例子中匿名的內(nèi)部類只使用一次⑴
匿名內(nèi)部類的定義和使用形式:returnnew
基類或者接口(參數(shù)列表){匿名內(nèi)部類的定義};(2)匿名內(nèi)部類的執(zhí)行過程★首先:使用new關鍵字創(chuàng)建匿名類對象,并且返回一個指向該匿名內(nèi)部類對象的引用◆然后:再自動向上轉型為指向基類或者基接口的引用2、上述例子中匿名的內(nèi)部類只使用一次6(3)
匿名內(nèi)部類的層次結構◆或者:匿名內(nèi)部類實現(xiàn)了基接口◆或者:匿名內(nèi)部類是基類的子類⑷匿名內(nèi)部類的創(chuàng)建對象★創(chuàng)建對象仍然符合構造器的調(diào)用原則:首先調(diào)用基類構造器,然后再調(diào)用子類構造器◆匿名內(nèi)部類只有默認構造器(3)匿名內(nèi)部類的層次結構73、如果調(diào)用基類帶參數(shù)的構造器,應該怎么辦?◆對比分析:前面的例子為基接口,所以不存在構造器,更不存在帶參構造器的問題publicclassWrapping//P197{privateinti;publicWrapping(intx){i=x;}//帶參數(shù)的構造器publicintvalue(){returni;}}3、如果調(diào)用基類帶參數(shù)的構造器,應該怎么辦?8publicclassParcel8{publicWrappingwrap(intx){returnnew
Wrapping(x)
{//子類只有缺省構造器。publicintvalue(){returnsuper.value()*47;}
//子類的value方法中將調(diào)用基類的value方法};}publicstaticvoidmain(String[]args){Parcel8p=newParcel8();Wrappingw=p.wrap(10);w.value();}}publicclassWrapping{privateinti;publicWrapping(intx){i=x;}publicintvalue(){returni;}}publicclassParcel8public9★首先分析包含匿名類的方法:◆基類或者基接口方法名(參數(shù)列表){returnnew基類或者基接口(參數(shù)列表){匿名內(nèi)部類的定義};}
Java編程思想第十章內(nèi)部類課件210★執(zhí)行過程的分析:⑴使用new關鍵字創(chuàng)建匿名類對象,創(chuàng)建對象仍然符合構造器的調(diào)用原則:先調(diào)用基類構造器,再調(diào)用匿名子類的默認構造器.(2)返回一個指向該匿名內(nèi)部類對象的wrapping基類的引用(向上轉型)⑶結論:如果你的基類存在一個帶參數(shù)的構造器,只需要簡單地傳遞合適的參數(shù)給基類的構造器即可◆本例中:將wrap(intx)方法中的參數(shù)x,傳遞給newWrapping(x)★執(zhí)行過程的分析:114、對匿名類中的數(shù)據(jù)成員進行初始化操作:
publicclassParcel9//P198{publicDestinationdest(final
Stringd){returnnewDestination()//匿名內(nèi)部類{//在匿名內(nèi)部類中定義數(shù)據(jù)成員
privateStringlabel=d;publicStringreadLabel(){returnlabel;}};
}4、對匿名類中的數(shù)據(jù)成員進行初始化操作:
publ12★歸納:◆匿名內(nèi)部類,要使用外部類或函數(shù)中定義成員,編譯器會要求它們是final型的,可使用外部類一切成員◆可以使用初始化塊,初始化匿名類中的成員。returnnewDestination(){privateintcost;{cost=Math.round(6.288);}//四舍五入取整
};匿名內(nèi)部類不能既擴展類,又實現(xiàn)接口,也不能實現(xiàn)多個接口??梢圆灰栏接谕獠款惖膶ο??!餁w納:1310.7嵌套類P2011、嵌套類(nestedclass)也稱為靜態(tài)內(nèi)部類如果不需要內(nèi)部類對象與其外部類對象之間有聯(lián)系,可以將內(nèi)部類聲明為static的。◆普通的內(nèi)部類對象隱式保存了一個引用,指向創(chuàng)建它的外部類對象◆然而,當內(nèi)部類是static時,靜態(tài)內(nèi)部類對象中沒有連接外部類對象的引用,要創(chuàng)建嵌套類的對象,并不需要外部類的對象10.7嵌套類P2011、嵌套類(ne14
普通內(nèi)部類的數(shù)據(jù)成員與成員函數(shù),只能放在類的外部層次上,因此普通內(nèi)部類不能有靜態(tài)成員,不能包含嵌套類。(但可定義普通類型的常靜態(tài)數(shù)據(jù)成員,要求是編譯時期的靜態(tài)常量)publicclassP11{ protectedstaticclassPD{//PD必須是靜態(tài)內(nèi)部類
staticclassAL{}//靜態(tài)內(nèi)部類中定義的靜態(tài)內(nèi)部類 }//靜態(tài)內(nèi)部類可以用權限修飾符 publicstaticvoidmain(String[]args){ PD.ALd=newPD.AL();//不依附于任何外部類
}}//內(nèi)層靜態(tài)內(nèi)部類的全稱是P11.PD.AL普通內(nèi)部類的數(shù)據(jù)成員與成員函數(shù),只能放在類的外部152、嵌套類的性質(1)靜態(tài)內(nèi)部類的對象可以直接生成,并不需要通過生成外部類對象來生成,例如:◆
Outer.Innerin=newOuter.Inner();⑵從嵌套類訪問外部類的原則(類似靜態(tài)成員函數(shù))★嵌套類可以訪問外部類的一切靜態(tài)成員(定義在外部類體內(nèi))
★但不能夠訪問外部類的非靜態(tài)成員(沒有指向外部類對象的引用)2、嵌套類的性質16★publicclassOuter//外部類{
privatestaticinti=1;
privateintj=10;
publicstaticvoidouter_f1(){
}
publicvoidouter_f2(){
}
★publicclassOuter//17staticclassInner//靜態(tài)內(nèi)部類(嵌套類){
staticvoidinner_f(){//靜態(tài)內(nèi)部類只能訪問外部類的靜態(tài)成員
System.out.println(“Outer.i”+i);
outer_f1();
//靜態(tài)內(nèi)部類不能訪問外部類的非靜態(tài)成員//包括非靜態(tài)變量和非靜態(tài)方法
//!System.out.println(“Outer.i”+j);
//!outer_f2();newOuter().outer_f2();
}
}
//靜態(tài)內(nèi)部類定義結束
}
//外部類定義結束
staticclassInner//18七、嵌套類⑶從外部類訪問嵌套類的原則(適用于普通內(nèi)部類)★訪問嵌套類靜態(tài)成員的方法
★訪問嵌套類非靜態(tài)成員的方法七、嵌套類⑶從外部類訪問嵌套類的原則19
publicclassouter{//外部類訪問內(nèi)部類的靜態(tài)成員的方法:內(nèi)部類.靜態(tài)成員
staticclassInner//靜態(tài)內(nèi)部類(嵌套類){//靜態(tài)內(nèi)部類中可以定義靜態(tài)或者非靜態(tài)的成員
privatestaticinti=100;
privatevoidf(){
System.out.println(“Inner.i”+i);
}}
publicclassouter20◆//外部類訪問內(nèi)部類的非靜態(tài)成員的方法://先將內(nèi)部類實例化即可voidouterf(){//外部類的初始化語句塊,訪問內(nèi)部類的私有成員
System.out.println(Inner.i);
Inneri=newInner();
i.f();}
}◆//外部類訪問內(nèi)部類的非靜態(tài)成員的方法:2110.7.2、接口內(nèi)部的類P202⑴在正常情況下,不能在接口內(nèi)部放置任何代碼但嵌套類可以作為接口的一部分,接口中任何類都是static和public的
publicinterfaceClassInInterface{voidhowdy();classTestimplementsClassInInterface{//靜態(tài)內(nèi)部類實現(xiàn)了接口publicvoidhowdy(){System.out.println("Howdy!");}}}10.7.2、接口內(nèi)部的類P20222⑵為什么要使用接口內(nèi)部的類?★接口的靜態(tài)內(nèi)部類,可以被某些實現(xiàn)接口的不同類所共有,那么使用接口內(nèi)部的嵌套類會顯得很方便publicclassAimplementsClassInInterface{privateTestt=newTest();
//直接生成靜態(tài)內(nèi)部類對象,不必使用外部接口名,//因為A類實現(xiàn)了接口publicvoidhowdy(){t.howdy();}}⑵為什么要使用接口內(nèi)部的類?2310.7.2、從多層嵌套類中訪問外部類的成員P203★一個嵌套類被嵌套了多少層并不重要,它能透明訪問所有它所嵌入的外部類的所有成員classMA{privatevoidf(){}classA{privatevoidg(){}publicclassB{voidh(){g();f();}}}}publicstaticvoidmain(String[]arg){
MAma=newMA();MA.Amaa=ma.newA();MA.A.Bmaab=maa.newB();maab.h();}10.7.2、從多層嵌套類中訪問外部類的成員P22410.8、為什么需要內(nèi)部類P2041、引入內(nèi)部類的重要作用在于:⑴內(nèi)部類能夠獨立實現(xiàn)某個接口◆如果外部類所擁有的僅僅是抽象的類或具體的類(同時繼承兩個類),而不是接口,那么,只能使用內(nèi)部類才能實現(xiàn)多重繼承10.8、為什么需要內(nèi)部類P2041、引入內(nèi)部類25★classD{}//P205abstractclassE{}classZextendsD{EmakeE(){
returnnewE(){實現(xiàn)E類抽象函數(shù)};}//該匿名內(nèi)部類的父類為抽象類E
}★classD{}//P2052610.8.1、閉包與回調(diào)P2052、閉包(closure)是一個記錄一些信息的對象,這些信息來源于創(chuàng)建它的作用域。內(nèi)部類是閉包。3、回調(diào)(callback):對象攜帶的信息允許它在后面的某個時刻調(diào)用創(chuàng)建它的對象interfaceIncrementable{//P206voidincrement();}classCallee2{privateinti=0;publicvoidincrement(){i++;System.out.println(i);}10.8.1、閉包與回調(diào)P2052、閉包(clo27
privateclassClosureimplementsIncrementable{//內(nèi)部類publicvoidincrement(){Callee2.this.increment();}//回調(diào)外部類函數(shù),實現(xiàn)接口}IncrementablegetCallback(){returnnewClosure();}}
Callee2c=newCallee2();Incrementablecb=c.getCallback();cb.increment();privateclassClosureimple2810.9內(nèi)部類的繼承P212繼承一個內(nèi)部類的時候,內(nèi)部類中存在指向外部類的引用,子類對象卻沒有可依附的外部類對象,必須采用特殊的語法,明確建立這種關聯(lián)。10.9內(nèi)部類的繼承P212繼承一個內(nèi)部類的時候,29classWithInner{classInner{}}publicclassInheritInnerextends
WithInner.Inner{InheritInner(WithInnerw){w.super();}publicstaticvoidmain(String[]args){WithInnerwi=newWithInner();InheritInnerii=newInheritInner(wi);}}
wi.super()作用:調(diào)用InheritInner的父類WithInner.Inner的構造函數(shù),初始化從父類中繼承的WithInner.this引用,使其指向為wi所指向的外部類對象classWithInner30局部內(nèi)部類不能有訪問權限符,它并不直接屬于外部類,但是它可以訪問當前代碼內(nèi)的常量和外部類的成員。作業(yè):P195練習6、7P199練習12P202練習18局部內(nèi)部類不能有訪問權限符,它并不直接屬于外部類,但是它可以31第十章內(nèi)部類★
外部類和內(nèi)部類★匿名內(nèi)部類和嵌套類★
為什么需要內(nèi)部類?第十章內(nèi)部類★外部類和內(nèi)部類3210.6、匿名內(nèi)部類P1961、匿名內(nèi)部類的概念★匿名內(nèi)部類是沒有名字的內(nèi)部類2、什么情況下可以使用匿名內(nèi)部類?⑴只用到類的一個實例⑵類在定義后馬上用到⑶類非常小(SUN推薦是在4行代碼以下)⑷給類命名并不會導致代碼更容易被理解10.6、匿名內(nèi)部類P1961、匿名內(nèi)部類的概念333、匿名內(nèi)部類的使用原則⑴匿名內(nèi)部類不能有構造函數(shù)★構造函數(shù)與類名一致,但是現(xiàn)在這個類連名字都沒有⑵匿名內(nèi)部類一定是跟在new的后面★用以隱含實現(xiàn)一個接口或繼承一個類3、匿名內(nèi)部類的使用原則34⑶(匿名)內(nèi)部類中不能定義任何靜態(tài)的成員⑷因匿名內(nèi)部類為內(nèi)部類,所以內(nèi)部類的所有限制都對其生效,匿名內(nèi)部類對象可以(不)依附外部類對象。interfaceContents{intvalue();}⑶(匿名)內(nèi)部類中不能定義任何靜態(tài)的成員351、
publicclassParcel7//P197{
publicContentscont(){
//創(chuàng)建一個繼承自Contents的匿名類的對象
returnnewContents(){
publicintvalue(){return11;}
};//匿名內(nèi)部類定義結束,需要一個分號
}//cont方法定義結束publicstaticvoidmain(String[]args){
Parcel7p=newParcel7();
Contentsc=p.cont();
}}1、publicclassParcel7362、上述例子中匿名的內(nèi)部類只使用一次⑴
匿名內(nèi)部類的定義和使用形式:returnnew
基類或者接口(參數(shù)列表){匿名內(nèi)部類的定義};(2)匿名內(nèi)部類的執(zhí)行過程★首先:使用new關鍵字創(chuàng)建匿名類對象,并且返回一個指向該匿名內(nèi)部類對象的引用◆然后:再自動向上轉型為指向基類或者基接口的引用2、上述例子中匿名的內(nèi)部類只使用一次37(3)
匿名內(nèi)部類的層次結構◆或者:匿名內(nèi)部類實現(xiàn)了基接口◆或者:匿名內(nèi)部類是基類的子類⑷匿名內(nèi)部類的創(chuàng)建對象★創(chuàng)建對象仍然符合構造器的調(diào)用原則:首先調(diào)用基類構造器,然后再調(diào)用子類構造器◆匿名內(nèi)部類只有默認構造器(3)匿名內(nèi)部類的層次結構383、如果調(diào)用基類帶參數(shù)的構造器,應該怎么辦?◆對比分析:前面的例子為基接口,所以不存在構造器,更不存在帶參構造器的問題publicclassWrapping//P197{privateinti;publicWrapping(intx){i=x;}//帶參數(shù)的構造器publicintvalue(){returni;}}3、如果調(diào)用基類帶參數(shù)的構造器,應該怎么辦?39publicclassParcel8{publicWrappingwrap(intx){returnnew
Wrapping(x)
{//子類只有缺省構造器。publicintvalue(){returnsuper.value()*47;}
//子類的value方法中將調(diào)用基類的value方法};}publicstaticvoidmain(String[]args){Parcel8p=newParcel8();Wrappingw=p.wrap(10);w.value();}}publicclassWrapping{privateinti;publicWrapping(intx){i=x;}publicintvalue(){returni;}}publicclassParcel8public40★首先分析包含匿名類的方法:◆基類或者基接口方法名(參數(shù)列表){returnnew基類或者基接口(參數(shù)列表){匿名內(nèi)部類的定義};}
Java編程思想第十章內(nèi)部類課件241★執(zhí)行過程的分析:⑴使用new關鍵字創(chuàng)建匿名類對象,創(chuàng)建對象仍然符合構造器的調(diào)用原則:先調(diào)用基類構造器,再調(diào)用匿名子類的默認構造器.(2)返回一個指向該匿名內(nèi)部類對象的wrapping基類的引用(向上轉型)⑶結論:如果你的基類存在一個帶參數(shù)的構造器,只需要簡單地傳遞合適的參數(shù)給基類的構造器即可◆本例中:將wrap(intx)方法中的參數(shù)x,傳遞給newWrapping(x)★執(zhí)行過程的分析:424、對匿名類中的數(shù)據(jù)成員進行初始化操作:
publicclassParcel9//P198{publicDestinationdest(final
Stringd){returnnewDestination()//匿名內(nèi)部類{//在匿名內(nèi)部類中定義數(shù)據(jù)成員
privateStringlabel=d;publicStringreadLabel(){returnlabel;}};
}4、對匿名類中的數(shù)據(jù)成員進行初始化操作:
publ43★歸納:◆匿名內(nèi)部類,要使用外部類或函數(shù)中定義成員,編譯器會要求它們是final型的,可使用外部類一切成員◆可以使用初始化塊,初始化匿名類中的成員。returnnewDestination(){privateintcost;{cost=Math.round(6.288);}//四舍五入取整
};匿名內(nèi)部類不能既擴展類,又實現(xiàn)接口,也不能實現(xiàn)多個接口??梢圆灰栏接谕獠款惖膶ο??!餁w納:4410.7嵌套類P2011、嵌套類(nestedclass)也稱為靜態(tài)內(nèi)部類如果不需要內(nèi)部類對象與其外部類對象之間有聯(lián)系,可以將內(nèi)部類聲明為static的?!羝胀ǖ膬?nèi)部類對象隱式保存了一個引用,指向創(chuàng)建它的外部類對象◆然而,當內(nèi)部類是static時,靜態(tài)內(nèi)部類對象中沒有連接外部類對象的引用,要創(chuàng)建嵌套類的對象,并不需要外部類的對象10.7嵌套類P2011、嵌套類(ne45
普通內(nèi)部類的數(shù)據(jù)成員與成員函數(shù),只能放在類的外部層次上,因此普通內(nèi)部類不能有靜態(tài)成員,不能包含嵌套類。(但可定義普通類型的常靜態(tài)數(shù)據(jù)成員,要求是編譯時期的靜態(tài)常量)publicclassP11{ protectedstaticclassPD{//PD必須是靜態(tài)內(nèi)部類
staticclassAL{}//靜態(tài)內(nèi)部類中定義的靜態(tài)內(nèi)部類 }//靜態(tài)內(nèi)部類可以用權限修飾符 publicstaticvoidmain(String[]args){ PD.ALd=newPD.AL();//不依附于任何外部類
}}//內(nèi)層靜態(tài)內(nèi)部類的全稱是P11.PD.AL普通內(nèi)部類的數(shù)據(jù)成員與成員函數(shù),只能放在類的外部462、嵌套類的性質(1)靜態(tài)內(nèi)部類的對象可以直接生成,并不需要通過生成外部類對象來生成,例如:◆
Outer.Innerin=newOuter.Inner();⑵從嵌套類訪問外部類的原則(類似靜態(tài)成員函數(shù))★嵌套類可以訪問外部類的一切靜態(tài)成員(定義在外部類體內(nèi))
★但不能夠訪問外部類的非靜態(tài)成員(沒有指向外部類對象的引用)2、嵌套類的性質47★publicclassOuter//外部類{
privatestaticinti=1;
privateintj=10;
publicstaticvoidouter_f1(){
}
publicvoidouter_f2(){
}
★publicclassOuter//48staticclassInner//靜態(tài)內(nèi)部類(嵌套類){
staticvoidinner_f(){//靜態(tài)內(nèi)部類只能訪問外部類的靜態(tài)成員
System.out.println(“Outer.i”+i);
outer_f1();
//靜態(tài)內(nèi)部類不能訪問外部類的非靜態(tài)成員//包括非靜態(tài)變量和非靜態(tài)方法
//!System.out.println(“Outer.i”+j);
//!outer_f2();newOuter().outer_f2();
}
}
//靜態(tài)內(nèi)部類定義結束
}
//外部類定義結束
staticclassInner//49七、嵌套類⑶從外部類訪問嵌套類的原則(適用于普通內(nèi)部類)★訪問嵌套類靜態(tài)成員的方法
★訪問嵌套類非靜態(tài)成員的方法七、嵌套類⑶從外部類訪問嵌套類的原則50
publicclassouter{//外部類訪問內(nèi)部類的靜態(tài)成員的方法:內(nèi)部類.靜態(tài)成員
staticclassInner//靜態(tài)內(nèi)部類(嵌套類){//靜態(tài)內(nèi)部類中可以定義靜態(tài)或者非靜態(tài)的成員
privatestaticinti=100;
privatevoidf(){
System.out.println(“Inner.i”+i);
}}
publicclassouter51◆//外部類訪問內(nèi)部類的非靜態(tài)成員的方法://先將內(nèi)部類實例化即可voidouterf(){//外部類的初始化語句塊,訪問內(nèi)部類的私有成員
System.out.println(Inner.i);
Inneri=newInner();
i.f();}
}◆//外部類訪問內(nèi)部類的非靜態(tài)成員的方法:5210.7.2、接口內(nèi)部的類P202⑴在正常情況下,不能在接口內(nèi)部放置任何代碼但嵌套類可以作為接口的一部分,接口中任何類都是static和public的
publicinterfaceClassInInterface{voidhowdy();classTestimplementsClassInInterface{//靜態(tài)內(nèi)部類實現(xiàn)了接口publicvoidhowdy(){System.out.println("Howdy!");}}}10.7.2、接口內(nèi)部的類P20253⑵為什么要使用接口內(nèi)部的類?★接口的靜態(tài)內(nèi)部類,可以被某些實現(xiàn)接口的不同類所共有,那么使用接口內(nèi)部的嵌套類會顯得很方便publicclassAimplementsClassInInterface{privateTestt=newTest();
//直接生成靜態(tài)內(nèi)部類對象,不必使用外部接口名,//因為A類實現(xiàn)了接口publicvoidhowdy(){t.howdy();}}⑵為什么要使用接口內(nèi)部的類?5410.7.2、從多層嵌套類中訪問外部類的成員P203★一個嵌套類被嵌套了多少層并不重要,它能透明訪問所有它所嵌入的外部類的所有成員classMA{privatevoidf(){}classA{privatevoidg(){}publicclassB{voidh(){g();f();}}}}publicstaticvoidmain(String[]arg){
MAma=newMA();MA.Amaa=ma.newA();MA.A.Bmaab=maa.newB();maab.h();}10.7.2、從多層嵌套類中訪問外部類的成員P25510.8、為什么需要內(nèi)部類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度泥工工程保修合同3篇
- 【金版學案】2014-2021學年高中歷史優(yōu)化訓練(人教版必修1)第3課-從漢至元政治制度的演變
- 【備戰(zhàn)2021高考】全國2021屆高中地理試題匯編(11月份):I2城市化及其影響
- 2025年度智能交通授權經(jīng)銷商合作協(xié)議范本3篇
- G網(wǎng)絡下的實時在線輔導平臺
- 2025年度消防設備定期檢修與維保服務合同3篇
- 鄉(xiāng)村振興與農(nóng)村社區(qū)發(fā)展的路徑
- 2024年政府公共服務平臺建設項目政府采購代理服務協(xié)議3篇
- 2024年礦區(qū)土石方工程綜合施工承包合同一
- 證券公司財務管理數(shù)智化轉型升級策略探究
- 工程預結算課件
- 酒店宴會合同范本
- 貨款互抵三方協(xié)議合同范本
- 七年級道德與法治論文2000字(合集六篇)
- 嚴重精神障礙患者健康管理服務規(guī)范
- 風險預測分析及風險與機遇評估分析表
- 高中日語宣講 試聽課件
- 壓力彈簧力度計算器及計算公式
- 新生兒窒息診斷地專家共識
- 2023年重慶市旅游業(yè)統(tǒng)計公報要點
- 器械清洗的資料
評論
0/150
提交評論