版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
來點(diǎn)輕松的話題:Java命名規(guī)范包的命名規(guī)范包的名稱一般全部采用小寫包名的前綴一般是域名單詞序列的逆序?qū)嵗齝om.sun.engcom.apple.quicktimeedu.cmu.cs.bovik.cheese文件的命名規(guī)范必須與該文件中public類的類名同名后綴必須是.java類/接口的命名規(guī)范類名一般是名詞/名詞詞組:每個(gè)單詞的首字母大寫,其它字母小寫類名應(yīng)當(dāng)盡量簡單,而且其含義能夠盡量準(zhǔn)確地刻畫該類的含義一般采用全稱—盡量少用縮寫詞(除非該縮寫詞被廣泛使用)實(shí)例ClockTimeImageSprite方法的命名規(guī)范方法名一般是動(dòng)詞/動(dòng)詞性詞組首字母小寫中間單詞的首字母大寫,其它字母小寫盡量應(yīng)用簡單的、常用的單詞實(shí)例run();getBackground();getTime();變量的命名規(guī)范變量名的首字母小寫中間單詞的首字母大寫,其它字母小寫變量名的首字母盡量不要用字符:_
或
$變量名應(yīng)當(dāng)簡短、有含義、且便于記憶變量名常常由表示其所扮演的角色與數(shù)據(jù)類型組成實(shí)例inti;charc;doublewidthBox;PointstartingPoint,centerPoint;NameloginName;常量的命名規(guī)范常量名一般全大寫,單詞之間用下劃線分隔(“_”)實(shí)例:staticfinalintMIN_WIDTH=4;staticfinalintMAX_WIDTH=999;編輯方法盡量不要用TAB排版行數(shù)/每行的字符數(shù)縮排方式(Indentation)空白符/行友情提示:通常Java的開發(fā)環(huán)境都會(huì)提供源代碼的格式化/重排功能,如果使用記事本編輯源代碼,建議去下載一個(gè)叫astyle的源代碼重排工具(DOS命令行工具)。UltraEdit有捆綁這個(gè)工具,并提供了GUI界面的調(diào)用方式。文件組織源程序文件一般采用如下的組織順序:最開始一般是注釋package和import語句類和接口的定義OOP-PartII繼承性類的繼承和實(shí)現(xiàn)一個(gè)類可以被繼承,繼承有什么好處呢?當(dāng)一個(gè)類被繼承的時(shí)候,它所有說明為protected和public的成員(變量和函數(shù))都可以傳遞到它的下一代,這就是好處。例如圖形界面的程序,一般都需要繼承JFrame,因?yàn)镴Frame這個(gè)類幫你做了很多事情:繪制一個(gè)界面,做一個(gè)標(biāo)題欄,可以縮放……要是你自己從頭開始做一個(gè)類似功能的類,那難度可就太可怕了……但是如果你繼承JFrame的話,那么JFrame可以把它擁有的超過150個(gè)精心設(shè)計(jì)功能強(qiáng)大的函數(shù)轉(zhuǎn)讓給你使用!多好的JFrame啊……直接繼承JFrame類,界面就出來了一個(gè)類可以被繼承,例如這個(gè)MyGUI類:import
javax.swing.*;public
class
MyGUI
extends
JFrame{public
static
void
main(String
args[]){
MyGUIframe=new
MyGUI();
frame.setTitle("早上好!");
frame.setSize(500,400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}注意這個(gè)MyGUI類,其實(shí)除了繼承,啥都沒干,但是人家就是有界面……超類和子類當(dāng)一個(gè)類C1是從C2繼承而來的,C1叫做子類(subclass),而C2叫做超類(superclass)子類在OOP里還有一種叫法childclass,或者擴(kuò)展類(extendedclass),或者派生類(derivedclass)超類也叫雙親類、父類(parentclass),或者基類(baseclass)子類通常具有比父類更強(qiáng)的功能,因?yàn)樗坏軌蚶^承父類的成員,還可以添加屬于自己的成員繼承性
創(chuàng)建子類格式:
classSubClassextendsSuperClass{…}這里SubClass就可以繼承所有SuperClass的public和protected的成員,當(dāng)然,如果SubClass有同名的成員,那么SuperClass的將被屏蔽。例如:classA{publicinta;protectedintb;}classBextendsA{
inta;//此a將屏蔽父類的avoidf(){b++;}//這里的b實(shí)際上是從A繼承來的}又一個(gè)繼承的例子classA{protectedintx;publicvoidf(){x--;}}classBextendsA{B(){x=100;//這里直接使用的x,其實(shí)來自父類Af();//f函數(shù)其實(shí)也是來自A,但現(xiàn)在可以直接使用
}}一個(gè)忠告由于無參的構(gòu)造函數(shù)會(huì)被子類自動(dòng)調(diào)用,因此如果一個(gè)類將來有可能被繼承,一定要提供一個(gè)無參的構(gòu)造函數(shù)。例如下面的代碼會(huì)有編譯錯(cuò)誤:publicclassAppleextendsFruit{}classFruit{publicFruit(Stringname){System.out.println("Fruit的構(gòu)造函數(shù)");}}super&&thisJava中通過super來實(shí)現(xiàn)對(duì)父類成員的訪問,super用來引用當(dāng)前對(duì)象的父類。super的使用有三種情況:1)訪問父類被隱藏的成員變量,如:
super.variable;2)調(diào)用父類中被重寫的方法,如:
super.Method([paramlist]);3)調(diào)用父類的構(gòu)造函數(shù),如:
super([paramlist]);this用于調(diào)用同一個(gè)類的成員變量或者成員方法,用法和super類似,其格式為:this.variable;this.Method([paramlist]);this的例子classPoint{privateint
x,y;publicvoidsetX(intxx){this.x=xx;}publicint
getX(){returnthis.x;}publicvoidsetY(inty){this.y=y;}publicint
getY(){returnthis.y;}}注意只有斜體部分的this才是一定要使用this的場合,其它情況下并不需要this。super和this的例子classA{protectedintx;publicvoidf(){x--;}}classBextendsA{
intx;voidf(){
this.x++;//這里用的是自己的x,也可以直接寫x++
super.x=100;//這里用的是父類繼承來的x
super.f();//f函數(shù)其實(shí)也是來自父類
}}總結(jié)一下繼承性public:包內(nèi)及包外的任何類均可以繼承或訪問;protected:包內(nèi)的任何類,及包外的那些繼承了此類的子類才能訪問;default:包內(nèi)的任何類都可以訪問它,而包外的任何類都不能訪問它(包括包外繼承了此類的子類);private:不能被繼承,只能在類內(nèi)部使用。繼承性的完整例子題目…我們想做一個(gè)類Circle表示平面直角坐標(biāo)系上的一個(gè)圓(解析幾何還記得吧...)。然后我們想做一個(gè)求面積的成員函數(shù)。我們還要假定所有的Circle的成員變量都是private的,所有的成員函數(shù)都是public的,下面開始動(dòng)手設(shè)計(jì)這個(gè)類。。。操作步驟1先搭一個(gè)空架子總是沒有問題的:classCircle{}操作步驟2設(shè)計(jì)一下成員變量,這里三個(gè)足夠了:classCircle{privatedoubler;//r是半徑
privatedoublex,y;//(x,y)是圓心坐標(biāo)}操作步驟3然后是構(gòu)造函數(shù),這里先搞兩個(gè):classCircle{privatedoubler;privatedoublex,y;publicCircle(){x=0;y=0;r=1;}publicCircle(doublex,doubley,doubler){
this.x=x;this.y=y;this.r=r;
//親,不小心又用到了this,還記得this干嗎的不?
}}操作步驟4然后是面積函數(shù):classCircle{privatedoubler;privatedoublex,y;
publicCircle(){x=0;y=0;r=1;}publicCircle(doublex,doubley,doubler){
this.x=x;this.y=y;this.r=r;}
publicdoublegetArea(){return(Math.PI*r*r);}}Eclipse測試程序綜合一下以上的所有步驟:先建一個(gè)工程,名字隨意,再建一個(gè)類,名字叫Circle,然后把Circle的代碼貼上;再建一個(gè)類,名字隨意,例如叫Test,勾上自動(dòng)生成main函數(shù)的選項(xiàng);現(xiàn)在你的工程里應(yīng)該有兩個(gè)java源文件,兩個(gè)類,其中一個(gè)是用來測試的類,所以它有main函數(shù),Circle類由于沒有main函數(shù),所有它是不能運(yùn)行的。因此啟動(dòng)運(yùn)行的主類是Test。Test類的寫法publicclassTest{ publicstaticvoidmain(Stringargs[]){
Circle
c1=newCircle(); System.out.println(c1.getArea());
Circle
c2=newCircle(3.0,4.0,5.0); System.out.println(c2.getArea()); }}Circle的改進(jìn)Circle類顯然不完善,例如你在Test類里,如果想知道c1的x,y,r三個(gè)成員分別是多少,可能嗎?如果你想在Test類里,隨時(shí)修改c1的半徑,可能嗎?答案顯然不行,所以,Circle其實(shí)還有很多的成員函數(shù)需要添加。這里就不演示了,自己動(dòng)手試試。。。研究一下對(duì)象的引用一個(gè)類的成員函數(shù)(static除外),是不是一定要new才能被使用呢?例如GUI編程中經(jīng)常有這種語句:Containercontainer=getContentPane();
container.add(newButton("button1"));這個(gè)container好像就沒有new對(duì)吧?怎么就可以抓來用呢?難道隨便get一下也能用?其實(shí)這個(gè)container已經(jīng)被new過了,只是你沒有看見而已。get一下相當(dāng)于做對(duì)象的引用。這么說好像很復(fù)雜,看一個(gè)例子:對(duì)象的引用IclassA{publicintx;}publicclassTest{ publicstaticvoidmain(Stringargs[]){Aa=newA();
a.x=1;System.out.println("a.x="+a.x);Ab=a;//注意這里b不是new出來的
b.x=10;System.out.println("b.x="+b.x);
System.out.println("a.x="+a.x);
a.x=100;System.out.println("a.x="+a.x);
System.out.println("b.x="+b.x); }}這個(gè)例子的輸出是:a.x=1b.x=10a.x=10a.x=100b.x=100對(duì)象的引用II總結(jié)一下,如果一個(gè)對(duì)象不是new出來的(例子中的b),而是直接用一個(gè)已經(jīng)new出來的對(duì)象(例子中的a)給它賦值,那么這個(gè)對(duì)象b就叫做a的引用。引用的對(duì)象之所以可以直接使用,不需要new,其實(shí)是因?yàn)樗赶虻膶?duì)象和賦值給它的對(duì)象是同一個(gè)!也就是它只是給原來的對(duì)象起了一個(gè)別名而已。對(duì)象的引用III總結(jié)一下,類似下面這樣b=a的操作叫做對(duì)象引用:Aa=newA();Ab=a;對(duì)象的引用乍看上去有點(diǎn)類似對(duì)象整體賦值,因?yàn)樵谀承└呒?jí)語言中,確實(shí)會(huì)把a(bǔ)整體復(fù)制一遍給b,于是a和b僅僅內(nèi)容相同而已,但是屬于不同對(duì)象;但是Java對(duì)這句話的理解卻是:b僅僅是a的別名,a和b其實(shí)表示同一個(gè)對(duì)象。所以別把語言搞混了。OOP-PartIII多態(tài)性多態(tài)性靜態(tài)多態(tài)性體現(xiàn)在方法的重載在編譯階段,具體調(diào)用哪個(gè)被重載的方法,編譯器會(huì)根據(jù)參數(shù)的不同來靜態(tài)確定調(diào)用相應(yīng)的方法。動(dòng)態(tài)多態(tài)性由于子類繼承了父類所有的屬性(私有的除外),所以子類對(duì)象可以作為父類對(duì)象使用。程序中凡是使用父類對(duì)象的地方,都可以用子類對(duì)象來代替。一個(gè)對(duì)象可以通過引用子類的實(shí)例來調(diào)用子類的方法。重寫方法的調(diào)用原則(匹配原則):對(duì)子類的一個(gè)實(shí)例,如果子類重寫了父類的方法,則運(yùn)行時(shí)系統(tǒng)調(diào)用子類的方法;否則調(diào)用父類的方法。靜態(tài)多態(tài)性:函數(shù)重載classA{A(){}A(inti){i++;}voidfun(inti){i++;}voidfun(doublef){f++;}voidfun(inti,intj){i++;j++;}}上例中函數(shù)A和fun都算重載。重載的特征:函數(shù)名相同重載的兩個(gè)要素:參數(shù)類型不同參數(shù)個(gè)數(shù)不同重載與返回值無關(guān)動(dòng)態(tài)多態(tài)性當(dāng)繼承發(fā)生的時(shí)候,動(dòng)態(tài)多態(tài)性就來了有個(gè)例子classA{publicvoidfun(){System.out.println(“A”);}}classBextendsA{publicvoidfun(){System.out.println(“B”);}}classCextendsB{publicvoidfun(){System.out.println(“C”);}}classTest{publicstaticvoidmain(String[]args){
Aa;Bb=newB();Cc=newC();
a=b;
a.fun();//此處將輸出B
a=c;a.fun();//此處將輸出C}}解釋一下Java的動(dòng)態(tài)多態(tài)性這種機(jī)制遵循一個(gè)原則:當(dāng)超類(父類)對(duì)象的引用變量引用子類對(duì)象時(shí),被引用對(duì)象的類型而不是引用變量的類型決定了調(diào)用誰的成員方法;當(dāng)然,這個(gè)被調(diào)用的方法必須是在超類中定義過的,也就是說被子類覆蓋的方法。你可能會(huì)問,如果這個(gè)方法沒有被覆蓋呢?Goodquestion……還有個(gè)例子classA{publicvoidfun(){System.out.println(“A”);}}classBextendsA{publicvoidfunB(){System.out.println(“B”);}}classCextendsB{publicvoidfunC(){System.out.println(“C”);}}classTest{publicstaticvoidmain(String[]args){
Aa;Bb=newB();Cc=newC();
a=b;
a.fun();//此處將輸出A
a=c;a.fun();//此處將輸出A}}總結(jié)一下Java在函數(shù)調(diào)用的時(shí)候,是按照這個(gè)順序查找函數(shù)的:1.先看看自己有沒有這個(gè)函數(shù),如有則調(diào)用;2.向上一級(jí),看看有沒有這個(gè)函數(shù),一直上溯到找到函數(shù)為止。Java的子類可以直接轉(zhuǎn)化為父類(classBextendsA)如:Bb=newB();Aa=b;//注意這里a是引用Java的父類必須強(qiáng)制轉(zhuǎn)化為子類(classBextendsA)如:Aa=newA();Bb=(B)a;//這個(gè)操作沒意義或:Bb=newB();Aa=b;Bbb=(B)a;//這個(gè)倒可以,但是繞了一圈,還不如直接用:bb=b,效果一樣抽象類與接口I是不是所有的類都可以new出來用?答案是:NO!因?yàn)槌橄箢惥筒豢梢浴K荒鼙焕^承。接口是一種特殊的抽象類,它也不能被new出來,而只能被實(shí)現(xiàn)(implements)。抽象類的定義是在class前面加上一個(gè)abstract,而接口的定義是把class關(guān)鍵字換成了interface。抽象類與接口II例如:
classA{//A是類
......}abstractclassB{//B是抽象類
......}interfaceC{//C是接口,一種特殊的抽象類
......}為什么需要抽象類?I在面向?qū)ο蟮母拍钪?,所有的?duì)象都是通過類來描述的,但是反過來卻不是這樣:并不是所有的類都是用來描述對(duì)象的,如果一個(gè)類中沒有包含足夠的信息來描述一個(gè)具體的對(duì)象,這樣的類就是抽象類。抽象類往往用來表征我們?cè)趯?duì)問題領(lǐng)域進(jìn)行分析、設(shè)計(jì)中得出的抽象概念,是對(duì)一系列看上去不同,但是本質(zhì)上相同的具體概念的抽象。
為什么需要抽象類?II比如:圓、三角形、矩形這樣一些具體概念,它們是不同的,但是它們又都屬于形狀這樣一個(gè)概念,形狀這個(gè)概念在問題領(lǐng)域是不存在的,它就是一個(gè)抽象概念。正是因?yàn)槌橄蟮母拍钤趩栴}領(lǐng)域沒有對(duì)應(yīng)的具體概念,所以用以表征抽象概念的抽象類是不能夠?qū)嵗?。為什么需要抽象類?III如果我們要設(shè)計(jì)一個(gè)Shape的類,用來表示幾何形狀;內(nèi)含一個(gè)函數(shù)getArea,表示這個(gè)形狀的面積——可是這個(gè)面積目前是無法求的,因?yàn)槲覀兊男畔⑻?,所以,這個(gè)Shape只能設(shè)計(jì)成抽象類。在Shape基礎(chǔ)上,我們可以繼承出一個(gè)類Rect,用來表示矩形;也設(shè)計(jì)一個(gè)類Circle,用來表示圓形;顯然,這兩個(gè)類的getArea函數(shù)體是可以實(shí)現(xiàn)的。為什么需要抽象類?IVabstract
class和interface在Java語言中都可以用來設(shè)計(jì)抽象類。abstarct
class在Java語言中體現(xiàn)了一種繼承關(guān)系,要想使得繼承關(guān)系合理,父類和派生類之間必須存在“is
a”關(guān)系,即父類和派生類在概念本質(zhì)上應(yīng)該是相同的。例如上一個(gè)例子,Rect和Circle都是一種形狀,因此用Shape做父類是很自然的。此時(shí)Shape設(shè)計(jì)成abstractclass在概念上也比較好接受。為什么需要抽象類?Vinterface表示的是“l(fā)ike
a”或者“has
a”關(guān)系。我們用一個(gè)例子來表明,盡管都可以表示抽象類,但是abstractclass并不是萬能的。例如我們?cè)O(shè)計(jì)一個(gè)類HaoJiao,用來描述動(dòng)物的嚎叫。顯然各種動(dòng)物嚎法不同,所以這個(gè)類沒法具體實(shí)現(xiàn),因此只能設(shè)計(jì)成抽象類。可是,HaoJiao好繼承嗎?難道有更高級(jí)的HaoJiao?如果我們還有一個(gè)類Animal,顯然它應(yīng)該會(huì)有HaoJiao的屬性,但是Animal不能繼承自HaoJiao(否則在概念上實(shí)在不好理解)。于是我們只能將HaoJiao設(shè)計(jì)成interface,然后類Animal可以實(shí)現(xiàn)(implements)這個(gè)接口。抽象類與接口III抽象類有一個(gè)特殊的規(guī)定,它里面的抽象函數(shù)在繼承的類中一定要被重寫!(為什么呢??如果你接受不了這個(gè)事實(shí),參見剛翻過的5頁P(yáng)PT)接口也有一個(gè)特殊的規(guī)定,它里面的抽象函數(shù)在實(shí)現(xiàn)的類中一定要被重寫?。ú贿^很不幸,接口里所有的函數(shù)都是抽象的,所以它是特殊抽象類)所以總結(jié)起來就是一點(diǎn),抽象函數(shù)在設(shè)計(jì)的時(shí)候,自己是不用寫函數(shù)體的(其實(shí)是想寫也寫不了,呵呵);但是一旦被繼承extends或者實(shí)現(xiàn)implements,函數(shù)體就一定要被具體實(shí)現(xiàn)。抽象類和繼承的例子abstractclassA{abstractpublicvoidf();//注意這里沒有函數(shù)體}classBextendsA{publicvoidf(){}//注意這里已經(jīng)實(shí)現(xiàn)了f函數(shù),盡管只是空函數(shù)}classCextendsA{doublex;publicvoidf(){x=100;}//注意這里已經(jīng)實(shí)現(xiàn)了f函數(shù)
publicvoidff(){x++;}//這個(gè)是C自己的函數(shù)}接口和實(shí)現(xiàn)的例子interfaceA{abstractpublicvoidf();//注意這里沒有函數(shù)體}classBimplementsA{publicvoidf(){}//注意這里已經(jīng)實(shí)現(xiàn)了f函數(shù),盡管只是空函數(shù)}classCimplementsA{doublex;publicvoidf(){x=100;}//注意這里已經(jīng)實(shí)現(xiàn)了f函數(shù)
publicvoidff(){x++;}//這個(gè)是C自己的函數(shù)}接口總結(jié)接口是一種特殊的抽象類,所以它仍然具有類的特點(diǎn)。Java在繼承機(jī)制上,只支持單一繼承(也就是任何類的父類只有一個(gè))。假設(shè)你現(xiàn)在想同時(shí)把A類和B類的遺產(chǎn)繼承過來,就只能借助于接口了。因?yàn)镴ava允許你實(shí)現(xiàn)多個(gè)接口,用逗號(hào)隔開就可以,當(dāng)然前提是A和B你要先改成接口才行。順便說一句,當(dāng)你隨手寫一個(gè)classA,而沒有繼承任何類的時(shí)候,其實(shí)這個(gè)A并不是孤零零的,因?yàn)镴ava會(huì)認(rèn)為A繼承了java.lang.Object。內(nèi)部類I為什么需要內(nèi)部類?Java中的內(nèi)部類和接口加在一起,可以有效解決常被C++程序員抱怨Java中存在的一個(gè)問題——沒有多繼承。實(shí)際上,C++的多繼承設(shè)計(jì)起來很復(fù)雜,而Java通過內(nèi)部類加上接口,可以很好的實(shí)現(xiàn)多繼承的效果。內(nèi)部類如何定義?簡單一點(diǎn)說,就是在一個(gè)classA的內(nèi)部,還包含著另外一個(gè)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶工程學(xué)院《數(shù)字系統(tǒng)設(shè)計(jì)技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 鎮(zhèn)江市高等??茖W(xué)校《數(shù)據(jù)挖掘基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江交通職業(yè)技術(shù)學(xué)院《數(shù)據(jù)庫系統(tǒng)及應(yīng)用實(shí)踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 中國礦業(yè)大學(xué)(北京)《固體表面物理化學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 鄭州軌道工程職業(yè)學(xué)院《中外劇作家及作品研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 運(yùn)城職業(yè)技術(shù)大學(xué)《休閑學(xué)與休閑文化》2023-2024學(xué)年第一學(xué)期期末試卷
- 區(qū)域經(jīng)濟(jì)發(fā)展中的產(chǎn)業(yè)協(xié)同效應(yīng)
- DB2201T 69-2024 哺乳母豬智能化飼喂技術(shù)規(guī)范
- 數(shù)學(xué)社團(tuán)學(xué)習(xí)活動(dòng)
- 房地產(chǎn)經(jīng)紀(jì)綜合能力-《房地產(chǎn)經(jīng)紀(jì)綜合能力》模擬試卷1
- GB/T 9978.5-2008建筑構(gòu)件耐火試驗(yàn)方法第5部分:承重水平分隔構(gòu)件的特殊要求
- 上海紐約大學(xué)自主招生面試試題綜合素質(zhì)答案技巧
- 辦公家具項(xiàng)目實(shí)施方案、供貨方案
- 2022年物流服務(wù)師職業(yè)技能競賽理論題庫(含答案)
- ?;钒踩僮饕?guī)程
- 連鎖遺傳和遺傳作圖
- DB63∕T 1885-2020 青海省城鎮(zhèn)老舊小區(qū)綜合改造技術(shù)規(guī)程
- 高邊坡施工危險(xiǎn)源辨識(shí)及分析
- 中海地產(chǎn)設(shè)計(jì)管理程序
- 簡譜視唱15942
- 《城鎮(zhèn)燃?xì)庠O(shè)施運(yùn)行、維護(hù)和搶修安全技術(shù)規(guī)程》(CJJ51-2006)
評(píng)論
0/150
提交評(píng)論