版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第五章面向?qū)ο蟪橄箢惤涌诩皟?nèi)部類下詳解演示文稿目前一頁\總數(shù)六十八頁\編于十八點優(yōu)選第五章面向?qū)ο蟪橄箢惤涌诩皟?nèi)部類下目前二頁\總數(shù)六十八頁\編于十八點3本章主要內(nèi)容5.1抽象類5.2接口5.3內(nèi)部類目前三頁\總數(shù)六十八頁\編于十八點45.1抽象類用abstract修飾的類稱為抽象類,用abstract修飾的成員方法稱為抽象方法。對于抽象方法,在抽象類中只指定方法名及類型,而不寫實現(xiàn)代碼。目前四頁\總數(shù)六十八頁\編于十八點55.1.1抽象類的定義[public]abstractclass類名[extends父類名列表]{//數(shù)據(jù)成員聲明
//抽象方法聲明
[public][abstract]返回值方法名(參數(shù)列表)[throw異常列表]}目前五頁\總數(shù)六十八頁\編于十八點6abstractclassShapes{protectedintx,y,k;protecteddoublem;abstractpublicdoublegetArea();abstractpublicdoublegetPerimeter();}如實例:4/sample4-15不能把一個類同時標(biāo)識為abstract和final的,abstract表示很多類的事物總稱,可以再分子類;而final的類一定不能再分子類.兩者相反含義。目前六頁\總數(shù)六十八頁\編于十八點75.1.2抽象方法抽象方法充當(dāng)著占位的角色,其具體實現(xiàn)在子類中.抽象方法只有方法聲明,沒有方法體.
Publicabstractvoidstartup(); publicabstractvoidgo2(){};抽象類與抽象方法之間的關(guān)系是,抽象方法只能存在于抽象的類中.目前七頁\總數(shù)六十八頁\編于十八點8抽象方法示例抽象類中可以有非抽象方法,非抽象類中不能有抽象方法.6/4/sample4_16.目前八頁\總數(shù)六十八頁\編于十八點9抽象類注意以下幾個方面抽象類中可以有零個或多個抽象方法,也可以包含非抽象方法。只要有一個抽象方法,類前就必須有abstract修飾。若沒有抽象方法,類前也可有abstract修飾。抽象類不能創(chuàng)建對象,創(chuàng)建對象必須由具體子類來實現(xiàn),但可以有聲明,聲明能引用所有具體子類的對象。如實例:Ab.java目前九頁\總數(shù)六十八頁\編于十八點10對于抽象方法來說,在抽象類只指定其方法及其類型,而不書寫其實現(xiàn)代碼。抽象類必定要派生子類,若派生的子類是具體類,則具體子類中必須實現(xiàn)抽象類中定義的所有抽象方法(覆蓋);若子類還是抽象類,父類中已有的abstract方法,則子類中就不能再有。如實例:an.java目前十頁\總數(shù)六十八頁\編于十八點11在抽象類中,非抽象方法可以調(diào)用抽象方法。
abstract不能與final并列修飾同一個類;abstract不能與private,static,final或native并列修飾同一個方法;abstract類中不能有private成員如實例:an.java目前十一頁\總數(shù)六十八頁\編于十八點125.1.4抽象類的產(chǎn)生過程抽象類形成的思維過程:客觀事物—>對象—>類—>抽象類。(x,y)(x,y)widthheightrxyzwidthheight(x’,y’)目前十二頁\總數(shù)六十八頁\編于十八點13對以上三類進(jìn)行抽象:圖6-4目前十三頁\總數(shù)六十八頁\編于十八點14抽象實例AbstractclassInstrument4{inti;Publicabstractvoidplay();PublicStringwhat(){return“Instruemt4”;}publicabstractvoidadjust();}Classwind3extendsInstrument4{publicvoidplay(){System.out.println(“wind.play”);}PublicStringwhat(){return“wind3”;}Publicvoidadjust(){}}目前十四頁\總數(shù)六十八頁\編于十八點15抽象實例AbstractTest.java6/4/sample4_17.java目前十五頁\總數(shù)六十八頁\編于十八點165.1.5抽象類在繼承方面的應(yīng)用可以簡化子類定義的煩瑣度明晰類的層次關(guān)系如實例:6.8目前十六頁\總數(shù)六十八頁\編于十八點175.1.6引用具體子類對象抽象類不能有自己的實例對象,但是可以有自己的聲明,而且其聲明可以引用所有具體子類的對象。實例:6.9目前十七頁\總數(shù)六十八頁\編于十八點185.1.7抽象類設(shè)計注意事項抽取同類對象的共同行為包含對象的本質(zhì)盡可能簡單目前十八頁\總數(shù)六十八頁\編于十八點19抽象類——設(shè)計不當(dāng)?shù)呐e例abstract
class
Door
{
publicabstract
void
open();
publicabstract
void
close();
publicabstract
void
alarm();
}
報警門子類的代碼實現(xiàn)如下:class
AlarmDoor
extends
Door
{
publicvoid
open()
{
…
}
publicvoid
close()
{
…
}
publicvoid
alarm()
{
…
}
}
但其它類也要繼承Door,由于繼承關(guān)系,必須實現(xiàn)一個和它不相干的方法alarm,這顯然對于其它子類的實現(xiàn)帶來不便。目前十九頁\總數(shù)六十八頁\編于十八點205.2接口接口是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征,沒有方法的實現(xiàn).接口不是類,而是對類的一組需求描述,這些類要遵從接口描述的統(tǒng)一格式進(jìn)行定義。
publicinterfaceComparable{intcompareTo(Objectother);}
任何實現(xiàn)Comparable接口的類都必須包含compareTo方法,且該方法參數(shù)必須是一個Object對象,返回一個整型數(shù)值.目前二十頁\總數(shù)六十八頁\編于十八點21接口的定義當(dāng)定義一個接口時,實際上是在編寫一個合約,該合約規(guī)定了用來描述實現(xiàn)該接口的類能夠做什么,充當(dāng)什么角色.而接口中并沒有功能的具體實現(xiàn),具體實現(xiàn)由簽了合約的類自己來完成.目前二十一頁\總數(shù)六十八頁\編于十八點22接口的定義[public]interface
接口名[extends父接口名列表]
{//靜態(tài)常量數(shù)據(jù)成員聲明
[public][static][final]域類型域名=常量值;
//抽象方法聲明
[public][abstract]返回值方法名(參數(shù)列表)[throw異常列表];}目前二十二頁\總數(shù)六十八頁\編于十八點23接口的定義下面是合法的接口聲明:PublicabstractinterfaceAerocft{}Publicinterfaceship{}Interfaceship{}InterfaceJetPlaneextendsship{}Public可寫可不寫,如果接口定義為public類型,必須位于與其同名的java文件中.Abstract可寫可不寫.在使用接口繼承時,可以同時從多個接口繼承,(接口以外的類型,都不可以被接口繼承).InterfaceAero{}Interfacejet{}InterfacejetplaneextendsAero,jet{}目前二十三頁\總數(shù)六十八頁\編于十八點24接口的兩種含義:可以被引用調(diào)用的方法(public方法或同包中的protected方法或默認(rèn)方法);另一種是同“類”概念地位相當(dāng)?shù)膶S懈拍頸nterface,interface是功能方法說明的集合。目前二十四頁\總數(shù)六十八頁\編于十八點255.2.2接口的特性
接口定義,使用關(guān)鍵字interface,而不是Class,interface前的修飾符要么是public,要么是默認(rèn)。接口中定義的域變量全是finalstatic,即靜態(tài)常量。即使沒有任何修飾符,其效果完全等效。目前二十五頁\總數(shù)六十八頁\編于十八點26接口沒有構(gòu)造方法,接口中所有方法自動屬于abstract,即使沒有任何修飾符,其效果完全等效。
intcompareTo(Objectother);接口中不能包含靜態(tài)方法
publicinterfaceComparable{staticintcompareTo(Objectother);}因為static修飾的方法必然被直接調(diào)用,所以不能聲明為抽象方法。目前二十六頁\總數(shù)六十八頁\編于十八點27接口中只能定義靜態(tài)常量,不能含有實例域
publicinterfaceCaculator{staticfinaldoublePI=3.1415926;staticfinaldoubleE=2.71828183;
doublesum;//接口中的域自動設(shè)為
staticfinal}目前二十七頁\總數(shù)六十八頁\編于十八點28不能在接口中實現(xiàn)方法
publicinterfaceComparable{intcompareTo(Objectother);}publicinterfaceCaculator{Objectadd(Objectother){…};}目前二十八頁\總數(shù)六十八頁\編于十八點29接口具有繼承性,可通過extends關(guān)鍵字聲明接口的父接口。
publicinterfaceMoveable{voidmove(doublex,doubley);}publicinterfacePoweredextendsMoveable{doublemilesPerGallon();}目前二十九頁\總數(shù)六十八頁\編于十八點30接口和子接口都不能有自己的實例對象,但可以有自己的聲明,可引用那些實現(xiàn)本接口或子接口的類對象。因此接口中的常量必須定義為static,以表明其沒有對象這一特點。目前三十頁\總數(shù)六十八頁\編于十八點315.2.3接口的角色接口扮演將實現(xiàn)者和使用者有機聯(lián)系到一起的角色。當(dāng)功能沒有實現(xiàn)和使用前,先定義接口,再進(jìn)行功能的實現(xiàn)以及使用。使用者按照接口進(jìn)行使用,實現(xiàn)者按照接口進(jìn)行實現(xiàn)。目前三十一頁\總數(shù)六十八頁\編于十八點325.2.4接口中方法的實現(xiàn)與使用類的繼承使得開發(fā)人員可以處理同類的事物,但不能處理不同類但具有相同功能的事物.接口能夠被很多不同的類實現(xiàn),但接口中定義的方法僅僅是實現(xiàn)某一特定功能的規(guī)范,而并沒有真正實現(xiàn)這些功能.這些功能都需要在實現(xiàn)該接口的類中完成.如實例sample5.1目前三十二頁\總數(shù)六十八頁\編于十八點335.2.5接口實現(xiàn)要注意幾點在類中,用implements關(guān)鍵字來實現(xiàn)接口。一個類可以實現(xiàn)多個接口,在implements后用逗號隔開多個接口的名字。一個接口也可被多個類來實現(xiàn)。接口的實現(xiàn)者可以繼承接口中定義的常量,其效果等效于在這個實現(xiàn)類當(dāng)中定義了一個靜態(tài)常量。如果實現(xiàn)某接口的類不是abstract的抽象類,則在類的定義部分必須實現(xiàn)接口的所有抽象方法,而且方法頭部分應(yīng)該與接口中的定義完全一致。目前三十三頁\總數(shù)六十八頁\編于十八點34如果實現(xiàn)接口的類是abstract類,則它可以不實現(xiàn)該接口的所有方法。但對于抽象類的任何一個非抽象的子類而言,接口中的所有抽象方法都必須實現(xiàn)。這些方法體可以來自抽象的父類(被子類繼承),也可以來自子類自身的實現(xiàn),這主要體現(xiàn)了非抽象類中不能存在抽象方法的原則。接口的抽象方法的訪問限制符如果為缺省或public時,類在實現(xiàn)方法時,必須顯式使用public修飾符,否則將被警告為縮小了接口中定義的方法的訪問控制范圍。目前三十四頁\總數(shù)六十八頁\編于十八點35讓類實現(xiàn)一個接口將類聲明為實現(xiàn)給定的接口
classEmployeeimplementsComparable對接口中的所有方法進(jìn)行定義publicintcompareTo(ObjectotherObject){Employeeother=(Employee)otherObject;if(salary<other.salary)return-1;if(salary>other.salary)return1;return0;}目前三十五頁\總數(shù)六十八頁\編于十八點36接口不能使用new運算符實例化一個接口
x=newComparable(...);//ERROR可以聲明接口的變量,接口變量必須引用實現(xiàn)了該接口的類的對象
Comparablex;x=newEmployee(...);目前三十六頁\總數(shù)六十八頁\編于十八點37實例6.10目前三十七頁\總數(shù)六十八頁\編于十八點385.2.6.實例所有實現(xiàn)interface中的方法必須被申明為public如實例Store.javaInterface可以從多個interface得到繼承,但是不能繼承類。如實例HorrorShow.java一個可以實現(xiàn)多個interface,如實例Adventure.java目前三十八頁\總數(shù)六十八頁\編于十八點39接口在編程中的作用接口的作用主要體現(xiàn)在:一個接口可以被多個類實現(xiàn),這些類的對象都可以被這個接口的聲明所引用。如實例集合類接口Collection,它的直接實現(xiàn)類有十一個。AbstractSet,Vector,LinkedList,等。在LinkedList中有如下的方法:PublicbooleanaddAll(intindex,Collectionc){intnumNew=c.size();…….}當(dāng)調(diào)用此方法時,第二個參數(shù)Collection接口聲明C可以引用所有實現(xiàn)類對象,不管那一種都一定有size()這個接口方法。目前三十九頁\總數(shù)六十八頁\編于十八點40通過共同的接口方法來對這些傳入的對象進(jìn)行統(tǒng)一操作。如果沒有Collection接口,則在LinkedList中不得不這樣寫:PublicbooleanaddAll(intindex,Abstractlistc)PublicbooleanaddAll(intindex,AbstractSetc)PublicbooleanaddAll(intindex,ArrayListc)……接口聲明能引用所有實現(xiàn)類對象,抽象類聲明能引用所有具體類對象。目前四十頁\總數(shù)六十八頁\編于十八點41接口在JAVA事件處理機制中的應(yīng)用JAVA事件實現(xiàn)的機制,采用事件監(jiān)聽模式,能將事件發(fā)生對象和事件處理對象分開,而接口在這個方式中起到了很大的作用?;具^程如圖所示如實例:6.11,6.12目前四十一頁\總數(shù)六十八頁\編于十八點425.2.8接口與抽象類比較
abstractclassComparable{publicabstractintcompareTo(Objectother);}classEmployeeextendsComparable{publicintcompareTo(Objectother){...}}
每個類只能繼承一個類,但可以實現(xiàn)多個接口1語法上的不同目前四十二頁\總數(shù)六十八頁\編于十八點43抽象類接口共同點
二者都可具有抽象方法,都不能實例化,但都可以有自己的聲明,并能引用子類或?qū)崿F(xiàn)類對象。不同點屬性變量可以有變量,沒有限制
不能有,只能是靜態(tài)常量。成員方法
可以有具體方法(而且具體方法可以調(diào)用抽象方法)。編譯器不會自動添加任何修飾符,可以有抽象方法,也可沒有抽象方法,若只要有一個抽象方法,則類就必須為抽象類所有接口中的方法均隱含為公有的和抽象的,編譯器會自動添加修飾符.如果有方法,則全部是抽象方法。實現(xiàn)策略必須有子類繼承必須有實現(xiàn)類實現(xiàn)目前四十三頁\總數(shù)六十八頁\編于十八點44抽象類接口不同點繼承抽象類只能繼承一個父類,但可以實現(xiàn)多個接口,其可以選擇性地設(shè)計父類或父接口中的抽象方法接口可以繼承多個來自不同繼承樹上的接口,但是其只能繼承自接口,不能繼承自類.繼承后,不能設(shè)計其父接口中的方法,接口不能實現(xiàn)別的接口,即接口中不能出現(xiàn)implements關(guān)鍵字多態(tài)抽象類的引用可以指向其子類的對象,通過該引用可以訪問子類中繼承自該抽象類的所有屬性和方法.接口類型的引用可以指向任何實現(xiàn)自該接口或?qū)崿F(xiàn)自該接口的子接口的類,通過接口的引用可以訪問其指向?qū)侵械膶崿F(xiàn)自接口的方法.擴展性弱強目前四十四頁\總數(shù)六十八頁\編于十八點452、具體的含義不同抽象類更注重其是什么及其本質(zhì);而接口則不是,接口更注重其具有什么樣的功能及其能充當(dāng)什么樣的角色。例如實例:Sample5_2可以飛的事物有很多,飛機、鳥或者超人。但是飛機的實質(zhì)是個機械工具,需要汽油;而鳥與超人的實質(zhì)是動物,需要進(jìn)食。所以鳥可以繼承自動物,但其可以扮演飛行器這個角色。超人??抽象類:物體的本質(zhì)接口:物體可以充當(dāng)?shù)慕巧壳八氖屙揬總數(shù)六十八頁\編于十八點46接口與抽象類
接口不是類,它需要類去實現(xiàn),實現(xiàn)類和接口之間不是繼承關(guān)系,而是實現(xiàn)與被實現(xiàn)的關(guān)系。因此當(dāng)接口增加新方法時,完全可能通過接口的繼承,將變化體現(xiàn)在子接口中,保證父接口的穩(wěn)定,進(jìn)而穩(wěn)定父接口實現(xiàn)類和使用類。抽象類增加新方法,必定對繼承抽象類的所有子類產(chǎn)生影響,如果在抽象類的繼承體系中為增加新功能方法而增加新子類,同接口繼承相比,抽象類繼承相對復(fù)雜,不利于體系的進(jìn)一步演化。目前四十六頁\總數(shù)六十八頁\編于十八點47接口與抽象類舉例抽象類(abstractclass):家用電器(HomeAlliances)
接口(interface):音量調(diào)節(jié)(VolumeControl)
繼承類:電視機(TV),洗衣機(Washing)
實現(xiàn)電視機的方法:
pulbicclassTVextendsHomeAlliancesimplementsVolumeControl{
}
實現(xiàn)洗衣機的方法(洗衣機不具有音量調(diào)節(jié)功能):
publicclassWashingextendsHomeAlliances{
}
大家可以細(xì)細(xì)體會抽象類同接口的區(qū)別。文章目前四十七頁\總數(shù)六十八頁\編于十八點48接口與回調(diào)回調(diào)一種常見的程序設(shè)計模式。利用回調(diào)技術(shù)可以處理這樣的問題:
事件A發(fā)生時要執(zhí)行處理事件A的代碼,判斷何時發(fā)生事件A及何時執(zhí)行處理的代碼。
這些代碼是固定的,先行編寫完畢,供使用。但事件A的處理代碼開放給其它人編寫,可以有很多不同的實現(xiàn),使用時可以注冊具體需要的實現(xiàn)來處理。如實例:sample5_3目前四十八頁\總數(shù)六十八頁\編于十八點495.3內(nèi)部類內(nèi)部類是定義在另一個類中的類為什么需要使用內(nèi)部類?內(nèi)部類方法可以訪問該類定義所在的作用域中的數(shù)據(jù),包括私有的數(shù)據(jù).內(nèi)部類可以對同一個包中的其他類隱藏起來.當(dāng)想要定義一個回調(diào)函數(shù)前不想編寫大量代碼時,使用匿名內(nèi)部類比較便捷.目前四十九頁\總數(shù)六十八頁\編于十八點505.3內(nèi)部類內(nèi)部類分為四種:1)成員內(nèi)部類,作為外部類的一個成員存在,與外部類的屬性、方法并列。2)局部內(nèi)部類,在方法中定義的內(nèi)部類稱為局部內(nèi)部類。3)匿名內(nèi)部類,沒有名字的內(nèi)部類。4)靜態(tài)內(nèi)部類,如果不需要內(nèi)部類對象與外圍類對象之間有聯(lián)系,則聲明為static目前五十頁\總數(shù)六十八頁\編于十八點515.3.1成員內(nèi)部類語法Class<外部類>{[成員的訪問限制修飾符][static]class<內(nèi)部類>{//內(nèi)部類的成員}//外部類的成員}成員內(nèi)部類完全可以將其看成是外部類的一個成員,與普通成員的限制、修飾等都可加之于非靜態(tài)成員內(nèi)部類。在成員內(nèi)部類類體中,一樣有自己的成員變量和方法,可以用private、protected、public來修飾成員內(nèi)部類。目前五十一頁\總數(shù)六十八頁\編于十八點525.3.1成員內(nèi)部類publicclassOuter{//內(nèi)部類publicclassInner{//內(nèi)部類的成員inti=12;}//外部類的普通成員intcount=0;}目前五十二頁\總數(shù)六十八頁\編于十八點53成員內(nèi)部類可以引用外部類的所有成員,包括被private修飾的如實例:o.java
classOuter{privateinta=10;voidf(){…}classInner{intd;publicInner(){d=a;f();}}}目前五十三頁\總數(shù)六十八頁\編于十八點54外部類與成員內(nèi)部類定義的成員重名時,利用關(guān)鍵字this引用成員如實例TestOuterAndInner.java
目前五十四頁\總數(shù)六十八頁\編于十八點55Outer.javaclassOuter{inta;classInner{inta=20;voidf(){inta=10;System.out.println(a);
System.out.println(this.a);
System.out.println();}}}目前五十五頁\總數(shù)六十八頁\編于十八點56成員內(nèi)部類的不能被static修飾,但允許靜態(tài)常量存在成員.如實例o.java
classOuter{classInner{inta;//可以
voidf(){…}//可以
staticfinalintb=10;//可以
staticintc;//錯誤
staticvoidg(){….}//錯誤
}}目前五十六頁\總數(shù)六十八頁\編于十八點57內(nèi)部類創(chuàng)建對象只有創(chuàng)建了外部類對象之后,才能創(chuàng)建內(nèi)部類對象,才能使用內(nèi)部類的成員。創(chuàng)建內(nèi)部類對象的方式有2種:1、在外部類之內(nèi)創(chuàng)建內(nèi)部類對象。2、在外部類之外創(chuàng)建內(nèi)部類對象。目前五十七頁\總數(shù)六十八頁\編于十八點581、在外部類之內(nèi)創(chuàng)建內(nèi)部類對象在外部類中創(chuàng)建內(nèi)部類對象的語法與創(chuàng)建普通對象的語法相同,即用new操作符調(diào)用相應(yīng)的構(gòu)造器即可。注意:非靜態(tài)內(nèi)部類是外部類的非靜態(tài)成員,不能在靜態(tài)上下文中使用。如sample5_4編譯后產(chǎn)生幾個類文件??
目前五十八頁\總數(shù)六十八頁\編于十八點592、在外部類之外創(chuàng)建內(nèi)部類對象<外部類類名>.<內(nèi)部類類名>引用變量=<外部類類對象引用>.new<內(nèi)部類構(gòu)造器><外部類類名>.<內(nèi)部類類名>引用變量=new<
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生營養(yǎng)飲食與體重管理研究報告
- 二零二五年度城市改造拆遷工程簡易合同示范文本2篇
- 2025-2030年(全新版)中國檸檬飲料市場發(fā)展現(xiàn)狀及前景規(guī)劃研究報告
- 2025-2030年中國風(fēng)衣行業(yè)市場競爭狀況及投資趨勢分析報告新版
- 2025-2030年中國鐵路機車市場發(fā)展前景分析與未來投資戰(zhàn)略決策報告
- 2025-2030年中國鋼筋加工設(shè)備行業(yè)十三五規(guī)劃及發(fā)展策略建議研究報告
- 2025-2030年中國計算機機房市場發(fā)展?fàn)顩r及投資前景評估分析報告
- 2025-2030年中國色選機行業(yè)發(fā)展前景及投資戰(zhàn)略規(guī)劃研究報告
- 2025-2030年中國自助服務(wù)終端行業(yè)市場競爭格局與前景發(fā)展策略分析報告
- 2025-2030年中國綠原酸行業(yè)運行動態(tài)及前景趨勢預(yù)測報告
- 深圳市購物中心租金調(diào)查
- 我國無菌包裝行業(yè)消費量已超千億包-下游需求仍存擴容潛力
- 大數(shù)據(jù)管理與考核制度大全
- 大學(xué)面試后感謝信
- 2022屆上海高考語文調(diào)研試測卷詳解(有《畏齋記》“《江表傳》曰…”譯文)
- SBT11229-2021互聯(lián)網(wǎng)舊貨交易平臺建設(shè)和管理規(guī)范
- 如何打造頂尖理財顧問團(tuán)隊
- 土壤農(nóng)化分析課件
- 小區(qū)大型團(tuán)購活動策劃
- NEC(新生兒壞死性小腸結(jié)腸炎)92273
- 2023年租賃風(fēng)控主管年度總結(jié)及下一年展望
評論
0/150
提交評論