java相關(guān)21天學通本章將要介紹Java的特點以及所應(yīng)用平臺然后帶領(lǐng)讀者從第一_第1頁
java相關(guān)21天學通本章將要介紹Java的特點以及所應(yīng)用平臺然后帶領(lǐng)讀者從第一_第2頁
java相關(guān)21天學通本章將要介紹Java的特點以及所應(yīng)用平臺然后帶領(lǐng)讀者從第一_第3頁
java相關(guān)21天學通本章將要介紹Java的特點以及所應(yīng)用平臺然后帶領(lǐng)讀者從第一_第4頁
java相關(guān)21天學通本章將要介紹Java的特點以及所應(yīng)用平臺然后帶領(lǐng)讀者從第一_第5頁
已閱讀5頁,還剩533頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第1Javaavavava熟練掌握如何搭建Java開發(fā)環(huán)境,包括、安裝和配置JDKJavaSE——JavaStandardEdition,這是Java的標準版,主要用JavaEE——JavaEnterpriseEdition,這是JavaJavaME——JavaMicroEdition,這個版本的Java主要用于嵌入首先要進行JavaJDK的安裝,JDK就是提供Java服務(wù)的系統(tǒng)包。請根據(jù)Java的系統(tǒng)包為JDK,JDK的全稱為JavaDevelopmentKit,可以根據(jù)不同的平臺來不同的JDK,下面介紹在32位的WindowsXP系統(tǒng)上,如何并完成配置的。

1javac-classpath-sourcepath-bootclasspath-extdirs -d -encoding-target

javap:將class反編譯成Javabytecodes

到的JDK 件,幫助文件分為兩種格式,有HTML格式和格式。JDK的幫助文件使用很簡 根據(jù)包的路徑找到此方法就行了。JavaEE5的幫助文件的路徑和界面如圖所示

會源文件并將其文本編譯為Java虛擬機能理解的指令,保存在以后綴.class 打下良好的基礎(chǔ)。在記事本里添加如下代碼。該代碼可以直接到記事本中,當然如果自 public {publicstaticvoidmain(String{}}

EclipseEcliopse界面內(nèi)容。這里主要來講解 publicclass{publicstaticvoidmain(String{}}第2章Javaav換,后介識符名規(guī)。通章的學,讀、20inti=intj=-28進制:8進制數(shù)的進制規(guī)則是滿8進1,包含0-7的8個數(shù)字,在整數(shù)前面添加一316進制數(shù):16進制數(shù)的進制規(guī)則是滿16進1,包含0-9,a-f的16個數(shù)字,在整數(shù)1.float:單精度浮點數(shù)。:為float類型的浮點數(shù)時,要在結(jié)floati1=floatj2=-2.double:雙精度浮點數(shù):為double尾加D或d。為double類型時結(jié)尾的D和d可加可不加。這里建議 charc1=charc2=charc3=

booleanb1=booleanb2=所謂自動轉(zhuǎn)換就是不需要明確所要轉(zhuǎn)換的類型是什么,是由Java虛擬inti=charc1=charc2=byteb=intn=longl=inti=longL=charc=intn=(int)byteb=inti=bytec=(byte)標識符在av標識符名規(guī)數(shù)字包括0-9說明:符合標識符名規(guī)則并不是一種最好名方法。。inti=intI=char2i=floatfloat=

知識點幫助強在ava,在序中通給出一av?public?public ?{? 方?publicstaticvoidmain(String?{??}?}的作用。塊注釋的語法是“/**/”,以“/*”開始,以“*/”結(jié)束,@param@author所謂文檔注釋是描述類的,通過在類里定義的文檔注釋,可以幫助程序員了解此類具有哪些功能,以及此類的相關(guān)信息的一個注釋。文檔注釋以“”“”結(jié)尾把前面的例子加以修改。

publicclass{publicstaticvoidmain(String{intFor=1定義一個變量名稱為ForintDo=2;//定義一個變量名稱為Doint}}av,還以參子工業(yè)的《a程序計應(yīng)a第3?+inti=intj=intn=i+

inti=intj=intn=i-

inti=intj=intn=i*

“/”inti=intj=intn=i/

inti=intj=intn=i%

inti=intj=j=j+

“==”、inti=intj=booleanb1=i==booleanb2=i!=Strings1=newStringStrings2=newStringbooleanb3=b1==booleanb4=s1!=inti=intj=booleanb1=i>booleanb2=i<booleanb3=i>=booleanb4=i<=01修改上節(jié)例子,02public 0304publicstaticvoidmain(String05 booleann=(4>3)&&(2< 080901修改上節(jié)例子,02public 0304publicstaticvoidmain(String05 booleann=(4>3)||(2> 091001修改上節(jié)例子,02public ?public?publicstaticvoidmain(String?{?booleann=!(2>????10}02public ?public?publicstaticvoidmain(String?{?//43表達式的結(jié)果為true和false?booleann=(4<3)?true:???}?11

01修改上節(jié)例子,02public ?public?publicstaticvoidmain(String?{?intn=4&????10}?09??09?1001修改上節(jié)例子,02public 0304publicstaticvoidmain(String05 intn=4| “^”01修改上節(jié)例子,02public 0304publicstaticvoidmain(String05 intn=4^ “>>”【范例】通過下面代碼的演示來說明“>>”01修改上節(jié)例子,02public ?public?publicstaticvoidmain(String?{?intn=7>>2????10}“<<”【范例】通過下面代碼的演示來說明“<<”01修改上節(jié)例子,02public ?public?publicstaticvoidmain(String?{?intn=7<<2????10}號右移運算符全在最上補0。01修改上節(jié)例子,02public ?public?publicstaticvoidmain(String?{?intn=7>>>2????10}intn=01public ?public?publicstaticvoidmain(String?{?intn=?intj=?j+=???}?11

01publicclass02 publicstaticvoidmain(String int int System.out.println("使用后置運算符的結(jié)果為:"+(a顯示后 System.out.println("使用前置運算符的結(jié)果為:"+(++b));顯示前 10

20

publicclass{publicstaticvoidmain(String{inta=3;intStrings=(a<b)?"a小于b":"a大于b";{}{}}

通過對本章各種運算符的學習, 的《Java程序設(shè)計(第五文版)》 第4視,也會打開電視機進行收看;每一個人都有自己的安排。在Java中,洗臉有好看的來決定一樣。在Java里控制流程語句主要有條件語句、分支了解if條件語句和掌握各種if了解switch分支語句和掌握switch了解while循環(huán)語句和掌握while4.1if面已經(jīng)提到,如果有好看的電視時,就會打開電視進行收看。ifif(a> if ... ...elseif...1if2if

4.2switch

。{{}{}{}}

4.3while

{}

4.4do...while

{}dowhile

dowhile

4.5for

{}

能會一直放假。在Java循環(huán)語句也有這種情況,可以使用bra語句和continue語句來中斷程序,就好比中斷上課一樣。不同的是brak是一直放假,而contue語句是放假一天。語句的中斷和繼續(xù)就是指在語句的執(zhí)行過程中,用代碼中斷語句的執(zhí)行并退出此代碼塊。繼續(xù)和中斷類似,中斷和繼續(xù)在Java里用brk和contin關(guān)鍵字來表示。

【提示】使用for循環(huán),將循環(huán)條件改為i+=201publicclass?public?publicstaticvoidmain(String?{?int?//執(zhí)行for循環(huán),使循環(huán)間隔為2?for(int?{?t+=i?}???13} 第5Java中,數(shù)組就好比日常生活中的盒子,用來數(shù)據(jù)。每一個數(shù)組也是有類型的,用來放相應(yīng)類型的數(shù)據(jù)。數(shù)組是一種數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。inti1=inti2=inti3=inti4=inti5=inti6=inti7=inti8=inti9=創(chuàng)建數(shù)在一座樓中通常要有多個單元,一個單元中又有多個房間。在Java中多維數(shù)組就是這種設(shè)計,數(shù)組是一種嵌套的數(shù)組,一維數(shù)組的每個元素又是一個一維數(shù)組。數(shù)組的代碼是這樣的?!痉独肯旅媸莿?chuàng)建一個數(shù)組的程序01publicclass0203publicstaticvoidmain(String0405//定義了一個數(shù) inti[][]=new0708intfloat01//testArray類,所描述的是用for02publicclass03 publicstaticvoidmain(String inta[]=new for(inti=0;i<a.length; a[i]=i+ System.out.println(" 14面介紹了創(chuàng)建一維數(shù)組,以及數(shù)組的方法,并演示了數(shù)組的初

01publicclass0220

publicstaticvoidmain(String[]{char[]a;a=newchar[26];for(inti=0;i<26;{a[i]=(char)('a'+i);{}}}???import?publicclass?{?publicstaticvoidmain(String[]?{??int[]a={22,33,11,56,????????}?privatestaticvoidpaiXu(int[]?{?for(inti=0;i<a.length;?{?System.out.println("a["+i+"]="+a[i]+"?}?}?}鞏固。本章的重點是對數(shù)組的創(chuàng)建和初始化。如果想了解的關(guān)于本第6章類與對象6.1面向?qū)ο缶幊痰目s寫是OOP,全稱為ObjectOrientedProgramming。在進行面向?qū)ο蟮木幊?1//bike02class030406//racing_cycle類描述的是一個公路,繼承自07classracing_cycleextends0809碼具有了的靈活性和重用性。封裝在類里,需要通過一些特有的方法它們。。class{}創(chuàng)建類的實例是通過newnew類的名稱【范例】在同下使用類。首先是定義一個bike類,在該類中不存在任何成員變量和方法,這里只是演示如何在同一下使0102class030401//03class04 bikeb=new0601publicclass02 Stringcolor黃色 Stringracing_color綠色08在本程序中定義了一個表示自行車顏色的color成員變量,又定義了一個表示顏色的racing_color成員變量;而該程序是定義的一個bike自行車類,所以定義表示顏色的racing_color成員變量是不太好的選擇。?public?publicclass?{??Stringcolor黃色?}?publicclass?{??Stringracing_color綠色?}所謂成員變量就是這個類里定義的一些私有的變量,這些變量是屬于這個類的。就好比日常生活中的自行車的大小,即這個車子還是8行車的。下面開始介紹成員變量。02publicclass03 String String09在該程序中,定義了一個叫 bike的類,在該類中定義了兩個成員變,一個是表示自行車顏色的color成員變量,一個是表示自行車型號的通過new關(guān)鍵字來創(chuàng)建這個bike類的對象,用bike類的對象b。

01//test02publicclass03 函 publicstaticvoidmain(String

intsize=123; booleanb= 14

這個對象里的屬性的,它們之間的區(qū)別,即區(qū)別如下:。{方 publicvoidadd(inti,int{}方法返回值為void方法的返回值可以為null,但必須是對象類型。基本類型不能返回null方法的參數(shù)可以為基本數(shù)據(jù)類型,也可以為對象類型每個參數(shù)都有完整的該變量的形式Java程序的main就為一個方法,參數(shù)為String[]args,它是個特殊的參數(shù)的傳遞是傳遞的值還是呢。下面通過例子來分別說明,請仔細01test02publicclass03??publicvoidadd(int?{?i=i+??}?

publicstaticvoidmain(String{intsize=44;//創(chuàng)建bike類的對象實例,即bike類的對象btestt=newtest();}當傳遞的參數(shù)為對象類型時,也是利用的??publicclass?{?publicstaticvoidmain(String[]?{??Strings=newString("o???System.out.println("before:"+??????System.out.println("changeString:"+?System.out.println("after:"+?} publicstaticvoidchangeString(String str=new 25

str=str+"當把對象s傳遞到一個方法后,這個方法可以改變這個對象的屬性,并能返回相應(yīng)的改變。但這個對象指向的這個字符串是不會改變的。這里傳遞對象后,又通過這個去創(chuàng)建了一個新的Strng類型的字符串,這兩個字符串在內(nèi)存中當然不是同一個了。6.6對象的使所謂對象就是該名稱指向內(nèi)存中的一個對象,通過調(diào)用該即可完成對該對象的操作。本節(jié)將要討論一些操作對象引用中將出現(xiàn)的一些常見問題。如不存在的對象、空、對象間02publicclass03?publicstaticvoid?publicstaticvoidmain(String[]?{??testt=new????12}Exceptioninthread"main"java.lang.Error:Unresolvedcompilationproblem:t.acannotberesolvedorisnotaat【代碼解析】對象t要的是a這個成員變量,而a沒??publicclass?{??String???publicstaticvoidmain(String[]?{??testt=new???}?}根據(jù)上例中的錯誤提示在test類了一個名稱為a的成員變量。因為String類型的a沒有進行任何操作的對象的值為nu的時候都將出現(xiàn)空指針錯誤,即“NulPontEcpton錯誤,因為成員變量和方法是屬于對象的,即屬于用nw關(guān)鍵字創(chuàng)建出來的對象的。下面用代碼來演示這個錯誤,并演示如何進行修正。01ArrayList02import04//test類測試null值的對05publicclass06 publicStringatest類的成員變量?publicstaticvoidmain(String[]?publicstaticvoidmain(String[]?{??testt=new??//創(chuàng)建一個集合類,對象為一個null?ArrayListal=????}?22,即空指針錯誤。對象al為一個null值,表示這個對象并沒有創(chuàng)建其對象的實例,只是一個而已。當操作任意一個為在一個對象后盡量為其賦一個初值,來避免空指針的出對象間的比

equals方法在這里比較的是對象的,因為equals方法是承過來的。繼承將在后面的章節(jié)里做詳細講解。用new關(guān)鍵字創(chuàng)6.76.91.成員變量和局部變量相同情況下時如何【提示】成員變量和局部變量的方式是不同的publicclass{int //定義一個成員變量publicstaticvoidmain(String{int LianXi1lx=new}}6.10和使用、成員變量和局部變量的區(qū)別,以及對象的一些注意第7方法的概念。本章將介紹如何通過修飾符來控制變量的。首 packageimport包名import包名.類名01package03publicclass04 Stringemp包中的成員變量??publicvoid?{???11}static,靜態(tài)importstatic包名???importstatic???publicclass?{? publicstaticvoidmain(String[] 137.2類的級類的級別,就好比日常生活中常見的大樹,要想到達樹頂,要從樹慢慢地爬上去。是一層一層的進行的。樹的的也是有一種關(guān)系的。下面介紹類的級別和成員變量的公開的級所謂公開的級別在Java中表示為publc,即在類的名稱前面帶中的任何類都能該類。但要注意不同包的問題。下面代碼演publicclass{}默認的級默認的級別和公開的級別很相似,不同點就是默認的訪問級別不能不同包下的類。只能同包下的類。默認的訪面代碼演示如何定義一個默認的級別的類。class{}所謂封裝,就好比用一個盒子把一些東西裝起來。在Java中就好

01//test類描述的是final02publicclass0318

finalinti; 函publicstaticvoidmain(String[]{testt=newtest();intn=}

final???publicclass?{??publicvoid?{??}???publicstaticvoidmain(String[]?{??testt=new????}?}

所謂靜態(tài)變量就是只能存在一份,它屬于類的,不隨著對象的創(chuàng)信息,那么就為tatic類型的,被修飾為tatic類型的成員staticStringcolor綠色

01//test類描述的是static02publicclass03 Stringcolor綠色 publicstaticvoidmain(String[] 13staticfinal兩種關(guān)鍵字來修飾成員變量。下面用代碼來演示如publicstaticfinalinti=publicstaticfinalfloati=publicstaticfinaldoublePI=【提示】靜態(tài)變量可以直接,也可以使用類來01publicclass?static?staticint?staticint?publicstaticvoidmain(String?{? //直接?LianXi1lx=new? //??11}字,讀者了解了成員變量的是如何控制的。在后面的章節(jié)里將要學習繼承這一重要概念,以及的關(guān)鍵字。如果想了解更 計經(jīng)典:融合上機操作實例》一書進行學習。第8 掌握成員變量的修飾符 //02publicclass03 publicStringcolor;//05publicint 06//09pubicclass10 publicString 12publicint 13publicStringspeed;//公路的速140102publicclass03 publicString 05publicint06

//07//這是一個類,表述的是一個公路,它繼承于自行08pubicclassracing_cycleextends0910publicString11

//公路的速繼承是為了讓代碼重復使用,提高效率,在此基礎(chǔ)上衍生出的新在Java中,被繼承的類叫超類(superclass),繼承超類的類叫子類(有一對爺倆,和兒子,的眼睛是單眼皮,個子很高,頭發(fā)很好,皮膚很黑,而兒子同樣有他的一些特征,但是兒子的皮膚很白,雙眼皮,戴眼鏡,在外人看來他們是爺倆。兒子具有的所有特征,但是兒換到Java里,類與類之間的關(guān)系,可以看成倒置的金字塔,在上面,兒子在下面??赡苡卸鄠€兒子,但是一個兒子只能有一個,這在。Jaassclassextends01publicclass02 publicString publicint publicString publicString publicString 0810publicclassSonextends 11 publicStringspectacleframe;//這個屬性是兒子所特有的表示兒子13修飾符是修飾的當前成員變量的限制和狀態(tài)的。就好比一個publicString 。

default:成員變量為默認類為default類型,在一個同包里的類或子類是能夠的,相當于是不到它的。protected:成員變量為保護類public類型是一樣的,也是能夠到的,但是如果在不同包里的protected類型的成員變量就只能通過子類來,這個修飾符正如前面所舉和兒子的例子,的眼睛是單眼皮,兒子的是雙眼皮,不能說兒子沒有繼承的特性,只能說明兒子的特性把的覆蓋了。成員變量的覆蓋是子類里有和父類里相同的對象對象bikeb=newbikebikeb是創(chuàng)建Like類的一個對象應(yīng)用,而這個b就相當于bike的名自行車的移動和公路的移動都是靠外力來移動,二者是相同的。公路繼承了這一特點,但公路的移動速度就不相同【范例】下面用例子說明在日常生活中自行車和公路的相同

這和Java里的重載很相似,關(guān)鍵字為overload。publicStringpublicStringmove(Stringpublicvoidmove(Stringname,int

重寫的關(guān)鍵字是ovrde,重載的關(guān)鍵字為ovoad,重寫、重不能通過重載的方法的返回類型、權(quán)限和拋出的異常來進行publicStringql也是Obt類的方法,很多類也進行了重寫,一般重al方法的原型:publicbooleanequals(Object{return(this }final關(guān)鍵字修飾的成員變量的對象不能修改

publicenum{A,B,C,D,E,量為公共類型,這樣這個成員變量在任何包里都能,包括子類也能覆蓋這些概念。如果想了解的關(guān)于本章的內(nèi)容,可以參考電子工業(yè)的《深入淺出JDK6.0》一書進行學習。第9

{} staticfinal類型9.1.2接口里的常認的修飾是publicstaticfinal類型的,即便不顯式的修飾也默01//創(chuàng)建一個包,名字為02package04//創(chuàng)建一個接口名字為05publicinterface06 inti=0810import12//test類描述的是接口的常13publicclass14 publicstaticvoidmain(String[] intn=aaa.i+ 2401創(chuàng)建一個接口名字為02publicinterface0304//創(chuàng)建一個接口方法05publicint07//創(chuàng)建一個接口方法08String09 接口怎么使口的語法為:類的修飾符class類名稱implements接口名稱。01創(chuàng)建一個包,名字為02package04創(chuàng)建一個接口名字為05publicinterface06 publicint String1214import16test17publicclasstestimplements18 // publicint //

return26 publicString // 32

return類中的方法,以及給出的方法。在日常生活中的一個產(chǎn)品的。接口里的方法都被默認修飾為 類型的接口里的變量都被默認修飾為 staticfinal類型的,即常量接口里的方法全部都是publicJava中也是如此。食物【范例】下面通過一個例子來演示接口是如何實現(xiàn)多態(tài)的。首先創(chuàng)建一個food01創(chuàng)建一個food02interface03 publicvoid publicvoid09

instanceof一般使用于多態(tài)的時候,在代碼中判斷對象的類對象的instanceof類或接明對象的是該對象所指的類或接口;如果返回false,說明對象的是該對象所指的類或接口。 成員變量。接口里的變量都被默認修飾為publicstaticfinal類好地了解面向?qū)ο蟮闹R。如果想了解的關(guān)于本章的內(nèi)容,可以參考電子工業(yè)的《深入淺出JDK6.0》一書進行學第10構(gòu)造器面的章節(jié)里的代碼,讀者已經(jīng)看到很多次了。通過用{} 。 自定義的構(gòu)造器已面的代碼中多次使用。所謂自定義構(gòu)造器就是不publicclass{public{}publictest(Stringi,int{}}什么是模模式是Java模式工廠里的一種,所謂模式,就是在一個 01publicclass02 public new publicLianXi1(String new publicstaticvoidmain(String new 1701publicclass02

public{new}publicLianXi2(String{

new }

publicLianXi2(Strings,String{

new}

25

publicLianXi2(Strings,Stringss,String{}publicstaticvoidmain(String{new }

第11誤就需要進行異常處理在學校中老師批改作業(yè)一樣,通常要學生所犯的錯誤。錯誤可能是準確的錯誤,也可能是給常處理也是這樣的,通過異常處理來程序中的錯誤,可以給try和catch{}catch(Exception{}在try語句中放可能出現(xiàn)異常的代碼;在cch語句中需要給出一個異常的類型和該類型的,并在cch語句中放當出現(xiàn)該異常類型時需要執(zhí)行的代碼。try-catch語句使用使用try-catch語句是有很多和技巧的。在一開始學時就應(yīng) 對小的異常放面,將范圍相對大的異常放在后面。。{}catch(Exception{}{} 再談異常處理 MyExceptionextends{public{}publicMyException(String{}}類類

publicclass{publicStringdeiFen(intfen)throws{{return正常}{thrownewMyException("錯誤輸入}}}publicclass{publicstaticvoidmain(String{YiChang15yc=new{String}

catch(MyException{}}}publicclass{publicstaticvoidmain(String{YiChang14yc=new{String }catch(MyException{}}}和上一個示例代碼相比并沒有的功能。但是讀者會發(fā)現(xiàn)該程01import02class03 publicvoidmyVoid()throws08

09publicclassLianXi1extends10

publicvoidmyVoid()throws{

}

publicstaticvoidmain(String{}??18 throws拋出IOException異01import02class03 publicvoidmyVoid()throws08

09publicclassLianXi2extends10

publicvoidmyVoid(Strings)throws{

}

publicstaticvoidmain(String{}??18第12了解什么是內(nèi)部類和如何進行內(nèi)部類和外部類之間的。class{class{}}在外部類中內(nèi)部在內(nèi)部類的程序中,是經(jīng)常會進行外部類和內(nèi)部類之間的。在外部類中內(nèi)部類是很容易的,只要把【范例】示例代碼是一個在外部類 內(nèi)部類的程序01class02

class{int}

publicvoidmyVoid{Nein=newNei();//int 13

}14publicclass1521

publicstaticvoidmain(String{Waiw=newWai();}類對象,然后外部類的成員方法。在外部類的成員方法中,在外部類外內(nèi)部。讀者肯定會覺得非常難的,要想類成員中的成員怎么呢。其實在Java中,是很容易做到的。在外部類外內(nèi)部類的Wai.Neiwn=newWai().new使用該方法就能夠創(chuàng)建一個內(nèi)部類對象,使用該內(nèi)部類對象就可以內(nèi)部類的成員。該方法是不容易理解的,該方法也是可以分為兩條語句的。Waiw=newWai.Neiwn=w.new一個在外部類外內(nèi)部類的程?class?{?class //?{?int //?int?}?}?publicclass?{?publicstaticvoidmain(String?{?Wai.Neiwn1=newWai().new?Waiw=new?Wai.Neiwn2=w.new???}?}在示例代碼中使用了兩種方法來從外部類外內(nèi)部類。在外部類外內(nèi)部類時,是不能夠直接創(chuàng)建內(nèi)部類對象的,因為內(nèi)部在內(nèi)部類中外部在內(nèi)部類中外部類,就像所有的同一個類中成員互相一樣,這樣是沒有限制的,包括將成員【范例】示例代碼是一個在內(nèi)部類中外部類的程序01class02

inti=8;classNei{

11

publicvoidmyVoid{}}12publicclass13

publicstaticvoidmain(String{

Waiw=new

Wai.Neiwn2=w.newNei();//20

}

在示例代碼中,在內(nèi)部類中定義了一個myVoid來外部類中的成員變量i。可以看到從內(nèi)部類中外部類是非常容易的,不需?class?{?int ?class ?{?int?Waiww=new?publicvoid ?{???}?}?}?publicclass?{?publicstaticvoidmain(String?{?Waiw=new ?Wai.Neiwn2=w.newNei();//? ?}?}在本程序中的第行定義了一個外部類的成員變量,第行定義了內(nèi)部直接時,將的是內(nèi)部類的成員變量。要想外部調(diào)用外部類成員變量。局部內(nèi)部類的作用范圍是和局部變量的作用范圍相同的,只在局部中起作用,所以對局部內(nèi)部類進行【范例】示例代碼是一個創(chuàng)建和局部內(nèi)部類的程序01class02

publicvoid{class{int}Nein=new

12

}13publicclass14

publicstaticvoidmain(String{20

Waiw=newWai();}

。對該內(nèi)部類進行必須在該內(nèi)部類所在的方法中通過創(chuàng)建內(nèi)部類對象來進行。這是因為這里的內(nèi)部類是作為局部成在局部內(nèi)部類中外部類成員變量是很容易實現(xiàn)的,并不需要進行過多操作。在局部內(nèi)部類中可以直接調(diào)【范例】示例代碼是一個在局部內(nèi)部類中外部類成員變量的程序01class02

intpublicvoid{class{

publicvoid{ 外部類的成員變}16

Nein=newNei();}

17publicclass18

publicstaticvoidmain(String{24

Waiw=newWai();}

一個方法來外部類的成員變量。從運行結(jié)果中可以看出在內(nèi)部類中可以成功外部類的成員變量。在該程序中同樣需要注意的是,對內(nèi)部類進行需要和內(nèi)部類在同一方法中。 外部類的成員變量不同,在局部內(nèi)部類中外部類中和局部內(nèi)部類在同一局部的局部變量是不能夠 【范例】示例代碼是一個錯誤的外部類局部變量的程序01class02

publicvoid{inti=9;classNei{

publicvoid{ 外部類的成員變}16

Nein=newNei();}

17publicclass18

publicstaticvoidmain(String{24

Waiw=newWai();}

運行該程序是會發(fā)生錯誤的,錯誤信息為“從內(nèi)部類中局部變量i;需要被為最終類型”。在局部內(nèi)部類中外部類的局部變量是不能夠普通的局部變量的,必須將該局部變量聲局部內(nèi)部類定義在非靜態(tài)方法和靜態(tài)方法中是不同的,面的一個錯誤的成員的程?class?{?int?publicstaticvoid?{?class ?{?publicvoid?{??}?}?Nein=new ? ?}?}?publicclass?{?publicstaticvoidmain(String?{?Waiw=new ? ?}?}在靜態(tài)的方法中,所以是不能夠正常的。如果想正常,創(chuàng)建靜態(tài)內(nèi)部類的形式和創(chuàng)建非靜態(tài)內(nèi)部類的形式很相似的,只是需要將該內(nèi)部類使用tatic修飾成靜態(tài)的形式。使用static修示。class{staticclass{}}在外部類中靜態(tài)內(nèi)部在外部類中靜態(tài)內(nèi)部類和在外部類中非靜態(tài)內(nèi)部類一樣的,只需要從成員間的角度就可以考慮【范例】示例代碼是一個在外部類中靜態(tài)內(nèi)部類的程序01class02 staticclass

int

publicvoidmyVoid{Nein=newNei();//int 13

}14publicclass1521

publicstaticvoidmain(String{Waiw=newWai();}在外部類外靜態(tài)內(nèi)部 靜態(tài)內(nèi)部類和非 在所有的內(nèi)部類中最難的就應(yīng)該是內(nèi)部類。內(nèi)部類從名字上看就知道是沒有類名的類。在本節(jié)中就來介紹如何創(chuàng)建 12.4.1創(chuàng)建內(nèi)部在創(chuàng)建內(nèi)部類中將使用到繼承父類或者實現(xiàn)接口的知識,內(nèi)部類是沒有名字的,所以在創(chuàng)建內(nèi)部類時同時創(chuàng)建內(nèi)部類的對象。創(chuàng)建內(nèi)部類的語法格式如下所示new{在創(chuàng)建內(nèi)部類的語法中,NeiFather是內(nèi)部類繼承的父類的類,使用new同時創(chuàng)建了內(nèi)部類的對象。在內(nèi)部類中可以重寫父類內(nèi)部類是沒有名稱的,所以內(nèi)部類也是不可能具有構(gòu)造器的,這就出現(xiàn)一個問題。有時在內(nèi)部類中也是要定義成員01publicclass0227

staticinth=1;privateinti=2;publicvoidmyVoid(){finalintj=3;intk=4;classNei{publicvoid{}}Nein=newNei();}publicstaticvoidmain(String{LianXi1lx=newLianXi1();}在該程序的第13行到第16行注釋了4條程序中變量的語句,釋放這些語句,可以發(fā)現(xiàn)h、i和j都是能夠正常的,但是內(nèi)部類、靜態(tài)內(nèi)部類和內(nèi)部類,并分別對這些內(nèi)部類進行了 第13進入雙核,甚至多核時代,多線程的優(yōu)勢越來越明顯。Java本身燒水洗臉,在燒水時就可以刷牙,還可以邊刷牙邊看早間, ,如果使用的是單線程,系統(tǒng)就會向用戶的中發(fā)送郵件 01publicclassXianCheng1extends0203publicvoid04 0607 XianCheng1xc=new 01publicclassXianCheng2implements02 publicvoid 07法,還是實現(xiàn)接口方法。run方法是一個線程的,是線程必須具有。在使用通過實現(xiàn)Runnable接口定義的線,要想創(chuàng)建線程對象就不是XianCheng2xc=newThreadt=new01classMyRunnableimplements02 publicvoid 0809publicclass10 publicstaticvoidmain(String MyRunnablemr=new 6}?classMyRunnableimplements?{??publicvoid?{??}?}?publicclass?{?publicstaticvoidmain(String?{?MyRunnablemr=new?Threadt=new?t.start ?}?}?public?publicstaticvoidmain(String?{?MyRunnable1mr1=new?MyRunnable2mr2=new?Threadt1=new?Threadt2=new? ? ?}?36 處于新建狀態(tài)中的線程被調(diào)用tart方法就會進入準備狀態(tài)。處于等待/當線的run方法執(zhí)行結(jié)束后,或者程序發(fā)生異常終止運行后, publicstaticvoidsleep(longmillis)throwspublicstaticvoidsleep(longmillis,intnanos)throws

publicfinalvoidsetPriority(int yieldpublicstaticvoid無關(guān)的。當在正在運行的線運行該方法時,該線程將回到準publicfinalvoidjoin()throwspublicfinalvoidjoin(longmills)throwspublicfinalvoidjoin(longmillis,intnanos)throws。01publicclassLianXi1extends02 publicvoid for(int

publicstaticvoidmain(String LianXi1lx=new 1501publicclassLianXi2extends02 publicvoid for(int

publicstaticvoidmain(String LianXi1lx=new 15第14章Swing 【范例】示例代碼是一個簡單的Swing01import02//繼承JFrame03publicclassSwing1extends04

publicSwing1(){JLabeljl=newJLabel();

放到窗口this.setBounds(300,250,500,200

}

20

publicstaticvoidmain(String{Swing1s=new}

了一個用于顯示文字的。在最后還需要設(shè)置窗口的大小和位JFrameJFrame最常用的JFrame創(chuàng)建新窗口后,就可以通過JFrame通過前面對JFrame體有兩種方法,先來介紹第法,可以直接使用JFrame窗口類的構(gòu)01import02publicclass03

publicstaticvoidmain(String JFramejf=new //創(chuàng)建JFrame // 11在本程序中直接使用JFrame窗口類來創(chuàng)建一個窗體。首先創(chuàng)建一Frame類對象,然后調(diào)用Frame類中的方法。在本程序中使etTitle方法來設(shè)置窗口的名稱,使用etounds方法來設(shè)置窗口的大小和位置,使用etViible01import02//繼承JFrame03publicclassSwing4extends04 public

);//

publicstaticvoidmain(String Swing4s=new 17

。面介紹的JFrame窗口類就是一個頂層容器。頂層容器是一的。這種設(shè)計將會使程序變的非常復雜,而且難以。通常在JPanel01import02//繼承JFrame03publicclassSwing7extends04 JPaneljp=new JButtonjb=newJButton("按鈕 public

this.setBounds(300,250,300,200);//設(shè)置窗口的大小和位置 publicstaticvoidmain(String Swing7s=new 20JLabel需要進行操作的控件。雖然通常只起到一個顯示功能,但是

法已經(jīng)面的學習中使用過,表示設(shè)置要顯示的文本。同

學習完了JLabel類后,創(chuàng)建就是很容易的問題。示例代碼14-8就是一個創(chuàng)建簡單的程 import publicclassSwing8extends JLabeljl=new public

this.setBounds(300,250,300,200);//設(shè)置窗口的大小和位置 publicstaticvoidmain(String Swing8s=new

其中第5行使用JLabel類的無參構(gòu)造器創(chuàng)建了一個。在第10行使用setText方法設(shè)置上要顯示的內(nèi)容。在第11行使用setVerticalAlignment方法設(shè)置在容器中垂直居中。在第12行使用setHorizontalAlignment方法設(shè)置在容器中水平居中。在直接將放在窗體中,而沒有再定義非頂級容器。。來設(shè)置按鈕上顯示的文本,和其對應(yīng)的是用getTt方法來獲取按鈕上顯示的文本。在JButto按鈕類中還有一個經(jīng)常被使用,也是非常有意思的sMoic方法,使用該方法可以設(shè)置按鈕的助記符。助記符就是使用鍵盤中的加該助記符就能起到相應(yīng)的功能01import02//繼承JFrame03publicclassSwing9extends04 JButtonjb=new public

this.setBounds(300,250,300,200);//設(shè)置窗口的大小和位置 publicstaticvoidmain(String Swing9s=new 20按鈕動作按鈕是具有動作的,單擊按鈕時觸發(fā)動作,也就是 器,并且需要為按 動作器。編寫動作是通過實現(xiàn) 接口來完成的 器后,還需要向按鈕該雖然在對按鈕的講解中已經(jīng)對進行了使用,但是還是有必要對進行一個總體的講解。對于一個界面程序來說,如果只能14.6.1簡是一種很好的讓界面和用戶進行交互的。當用戶和界面交互同 來做 同 來做 源就是觸發(fā)的控件,這里包括按鈕、文本框、窗體等很多種控 的,信息被封裝在 器時需 接口,同時實現(xiàn)其中的方法,在方法中編寫觸 提示 源 器之間是多對多的關(guān)系,一個源可以對應(yīng)多 器可以為多個源服務(wù),這在后面將會給出具體的同一個源多 多個器,這種情況下觸發(fā), 方法,對進行處理。當為同一個源多 先先執(zhí)行的順序,而是先 同一個器 器,并執(zhí)行器中的 都將執(zhí)行器方法。為了辨別是哪一個按鈕被按下,在器窗體獲取和失去焦點 聽接口的器。WindowListener接口中同樣具有很幾種方1.開發(fā)一個同一個源多個器的程序 JButtonjb=new int public

???{??publicvoidactionPerformed(ActionEvent?{}} //為按鈕第二個{publicvoidactionPerformed(ActionEvent{}}this.setBounds(300,250,300,200);// }publicstaticvoidmain(String{LianXi1s=new}}本章是對Java中Swing程序的章,在本章中只是對界面開發(fā)作對界面開發(fā)中非常重要的開發(fā)進行了講解。第15位置,日常用品放在一起,食品放在一起。在JavaSwing界面開編使用布局管理器能夠非常有效地對容器中的控件進行有條15.1布局管理器也是通過構(gòu)造器來創(chuàng)建的。流布局是通過FlowLayout

jp.setLayout(new

。

jp.setLayout(new

//

。

publicvoidsetBounds(intx,inty,intwidth,int

第16章Swing文本框以及框和多行文本入信息的控件??蚝投嘈形谋究蚴呛臀谋究蚝芟嗨频模?/p>

提示:文本框也是會觸發(fā)的,它和按鈕一樣,都是觸發(fā)ActionEvent。按鈕是被單擊時觸發(fā),而文本框是當用戶按下回車鍵時觸發(fā)。

選項卡也是開發(fā)GUI界面常用的控件之一,通過使用選項卡可以在同一個窗體中提供很多不同的界面,可以通過選項卡提供的在界面間方便地進行切換。本節(jié)將為讀者詳細介紹如何使用中的選項卡,主要包括TabbedPane類、hangeEvent以及具體案例等內(nèi)容。選項卡可以產(chǎn)生多個框架,每一個 ,這個由 并處理注意:每次只能選擇組的一 publicJTabbedPane()方法:該方法創(chuàng)建一個TabbedPane對象,該對象publicJTabbedPane(inttabcement)方法:該方法使用指定的參數(shù)publicJTabbedPane(inttab cement,inttabLayout )方法:

16.4

控件可以讓用戶在限定的范圍內(nèi)方便地選擇需要的值。JSlider類JSliderageSlider=newageSlider=newJgesBar是ig

publicJList()方法:該方法可以構(gòu)造一個使用空模型的JList對publicJList(ObjectlistData)方法:該方法以顯示指定數(shù)組

。16.7

鍵菜單設(shè)計的好壞直接影響應(yīng)用程序的易用性,本節(jié)將對Swing出式 //測試鼠標是否應(yīng)該觸發(fā)彈出式菜{//}

16.8

16.9第17章JDBC在超市中東西時,在很多的商品中是不容易找到自己想要的Sybase數(shù)據(jù)庫,發(fā)展到現(xiàn)在的SQL(StructuredQueryLanguage是數(shù)據(jù)庫的最內(nèi)層,是物理存貯設(shè)備上實際的數(shù)據(jù)的集合。及數(shù)據(jù)的功能都位于客戶端中,一般來說客戶端只適用于某需要發(fā)生變化時可以通過中間層變化,減小影響。,這樣在對應(yīng)用進行部署時就省去了為每臺機器安裝客戶端主要完成下面幾個任務(wù)。與數(shù)據(jù)庫建立接。向數(shù)據(jù)庫發(fā)送SQL語句。處理數(shù)據(jù)庫返回的結(jié)果。實用ava程序語言和DB工具包開發(fā)程序,是獨立于平臺和廠商的。DC就是將ava程序語言編寫出來的程序,與數(shù)據(jù)庫相連接。接下來,將詳細講述如何利DB為程序連接數(shù)據(jù)庫。在JDBC數(shù)據(jù)庫編經(jīng)常要使用ODBC。所以,在講述JDBC的驅(qū)動程序分類之前,首先介紹什么是ODBC。ODBC是指OpenDataBase本地協(xié)議純Jv驅(qū)動程序類型的驅(qū)動程序?qū)BC調(diào)用直接轉(zhuǎn)換為DBMS所使用的網(wǎng)絡(luò)協(xié)議,這將允許從客戶機機器上直接調(diào)用DBMSIntrant的一個很實用解決方法。由于許多這樣的協(xié)議都是

Server和MSAccess等數(shù)據(jù)庫。有些讀者就會認為這些多數(shù)據(jù)庫,使用JDBC在數(shù)據(jù)庫編將起到非常重要的作用。首先程序員可同時,可以使用標準的SQL語句任何數(shù)據(jù)庫。如果數(shù)據(jù)庫廠商提供較低層的驅(qū)動程序,程序員可以在自己的軟件中,使用比較優(yōu)化的驅(qū)動程序。很多數(shù)據(jù)庫系統(tǒng)帶有JDBC驅(qū)動程序,ava程序就通過JDC驅(qū)動程序與數(shù)據(jù)庫相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。Sun發(fā)了D-ODBCbridge,用此技術(shù),ava程序就可以帶有ODBC驅(qū)動程序的數(shù)據(jù)庫。目前,大多數(shù)數(shù)據(jù)庫系統(tǒng)都帶有ODBC驅(qū)動程序,所以,ava程序能諸如Oracle、Sybase、MSSQLServer和MSAccess等數(shù)據(jù)庫。SQL是StructuredQueryLanguage的縮寫,Structured據(jù)庫通信的語言。與其他語言(如Java、VisualBasic這樣的程的數(shù)據(jù)在哪里,Select語句可由多個查詢子句組成。查詢操Select[all|distinct][into 在查詢操作的基本結(jié)構(gòu)中,all是指明查詢結(jié)果中可以顯示值相同的列,同時all是系統(tǒng)默認值。ditinct是指明查詢結(jié)果中值相同的列,只顯示其中的一列,對ditinct來說,NULL被認為相同的值。into子句用于把查詢結(jié)果存放到一個新建表中。 的條件,以限制返回的數(shù)據(jù)。Groupby子句指定查詢結(jié)果的分組條件。having子句指定分組搜索條件,它通常與Groupby子句一起使用。orderby子句指定查詢結(jié)果的排序方式。 〕。在學Java中進行數(shù)據(jù)庫操作之前,首先來學下如何創(chuàng)

publicstaticConnectiongetConnection(Stringurl,user,Stringpassword)throws用戶名,參數(shù)password為用戶名對應(yīng)的。如果沒有用戶名與。1//連接2Connection3//4String56 // // publicStatementcreateStatement()throwspublicintexecuteUpdate(Stringsql)throws studentvalues('200801','Tom','23',' stat.executeUpdate("insertintostudentvalues('200801','Tom',

}{}。publicResultSetexecuteQuery(Stringsql) *fromstudent”,返回值為ResultSet類型的對象。ResultSet類型publicbooleannext()throws整體執(zhí)行,遇到錯誤時,可以回滾事務(wù),取消 自動被作為單個事務(wù)提交;否則,其將所有SQL語句到一個JDBC的編程第18章Java也是可以輸送不同的東西的,包括字節(jié)和字符等內(nèi)容。Java中的18.1IOStreams)與處理流(ProcessingStreams),下面列出了這兩種

.publicintavailable()throwsIOException獲取可以從此輸入流(或跳過)的publicvoidclose()throwsIOException intread()throwsIOException從輸入流 publicintread(byte[]b)throwsIOException從輸入流中 publicintread(byte[]b,intoff,intlen)throwsIOException從輸入流中l(wèi)en個數(shù)publicvoidresetthrowsIOException將此流重新定位到最后一次調(diào)用mark方法publiclongskip(longnthrowsIOException跳過并且放棄輸入流中的n個字節(jié)數(shù)OupuStre類是一個輸出流,同樣也是一個字節(jié)流。Ouputtre類發(fā)送到某個。publicvoidclosethrowsIOExceptionpublicvoidflushthrowsIOException刷新輸出流,同時輸出所有緩沖publicvoidwrite(byte[]bthrowsIOException將字節(jié)數(shù)組b中的publicvoidwrite(byte[]b,intoff,intlenthrowsIOException將字節(jié)數(shù)組 voidwrite(intbthrowsIOException將指定的字節(jié)輸入到Reader intread()throwsIOException單個字符,返回值的低16比特存放字符的編碼(0~65535),高16比特忽publicintread(char[]cbuf)throwsIOException從輸入流中一定數(shù)量的字符,并將其在緩沖區(qū)字符數(shù)組cbuf中,以整數(shù)形式返回實際的字符數(shù)。若流中實際可讀的字符數(shù)小于數(shù)組 最多l(xiāng)en個字符讀入字符數(shù)組cbuf,將的第一個字符在元素cbuf[off]中,下一個在cbuf[off+1]中,依次類推,方法的返回值為實際的字符數(shù)。若publiclongskip(longn)throwsIOException跳過此輸入流中的指定數(shù)量的字符,publicbooleanready()throwsIOException判斷此字符輸入流是否準備好被讀,若publicvoidclose()throwsIOException關(guān)閉此輸入流并釋放與該流關(guān)聯(lián)的所有系publicvoidmark(intreadAheadLimit)throwsIOException在此輸入流中標記當前,未來調(diào)用reset方法可以回到標記處重新字符。沒有使用mark方法設(shè)置標記publicvoidreset()throwsIOException將此流重新定位到最后一次對此流調(diào)用mark方法時的位置publicbooleanmarkSupported()測試此輸入流是否支持markpublicvoidmark(intreadAheadLimit)throwsIOException在此輸開始此流可以的最大字符數(shù),未來調(diào)用reset方法可以回到標記處重新字符。沒有使用mark方法設(shè)置標記的流是不能回到某處再次的publicvoidreset()throwsIOException將此流重新定位到最后一次對此流調(diào)用mark方法時的位置publicbooleanmarkSupported()Writer出字符流的超類,也就是說所有的輸出字符流都派生自Writer類publicvoidwrite(intc)throwsIOException將指定的字符寫入此輸publicvoidwrite(charcbufthrowsIOException將指定字符數(shù)組 voidwrite(char[]cbuf,intoff,intlen)throwspublicvoidwrite(Stringstr)throwsIOException向流中寫入指定字符串publicvoidwrite(Stringstr,intoff,intlen)throwsIOException將指定字符publicvoidflush()throwsIOException刷新此輸出流并強制寫出所有緩沖publicvoidclose()throwsIOException關(guān)閉此輸出流并釋放與此流有關(guān)的 File(Stringpathname)創(chuàng)建一個文件對象。其中,如果pathname publicFile(Stringparent,Stringchild)根據(jù)指定的父路徑名字符串 publicFile(Fileparent,Stringchild)根據(jù)指定的父File對象 要用于諸如圖像數(shù)據(jù)之類的原始字節(jié)流。要字符流,可finalize()確認文件輸入流不在被的狀態(tài),并可以調(diào)用close方read()從該輸入流中一個數(shù)據(jù)字節(jié),并以int類型返回read(byte[]b)輸入流中b.length個字節(jié)的數(shù)據(jù),并存入字節(jié)數(shù)read(byte[]b,intoff,intlen)輸入流中從偏移量off開始的lenfinalize()斷開到文件的連接,確認該文件輸出流不處在被狀write(byteb)將b.length個字節(jié)的數(shù)據(jù)從指定字節(jié)數(shù)組寫入到該write(bytebintoffintlen)將指定字節(jié)數(shù)組中的部分數(shù)據(jù)(從偏18.3publicString(bytebytes[],Stringbyte[]String.getBytes(String18.4第19。ava集合框架主要由一組用來操作對象的接口組成。不同接口描述一組不同數(shù)據(jù)類型。在這些接口中ollection的根接口。在ollection接口中具有開發(fā)中經(jīng)常用使用到的et接口、list接口和map接口。

List接口了3種對列表元素進行定位(索引)方法Objectget(intindex):參數(shù)index表示將要需要得到元素的索引。該ListsubList(intfromIndexinttoIndex):參數(shù)fromIndexObject[]toArray():該方法將類表轉(zhuǎn)換成一個ObjectList接口了特殊的迭代器,稱為ListI 供的正常操作外,該迭代器還允許元素插入和替換,以及雙向。還 tor(intindex)List接口了兩種搜索指定對象的方法。從性能的觀點來看,應(yīng)該接口對其如下:intindexOf(Objecto):參數(shù)o為指定查找的元素,該方法將遍歷整個intlastIndexOf(Objecto):參數(shù)o為指定查找的元素,該方法將遍歷整Objectset(intindex,Objectelement):參數(shù)index表示需要替換元素的索引。參Objectremove(intindex):參數(shù)index為將要移除元素的索引。返回從列表中移booleanremove(Objecto)方法:參數(shù)o為指定的需要移除的元素。若列表包含一個或多個與指定o相同的元素,則移除該元素,并返回true,否則返回false。booleanremoveAll(Collectionc)方法:參數(shù)c為包含指定需要移除元素的booleanretainAll(Collectionc)方法:參數(shù)c為包含指定需要保留元素的Vector

publicvoidaddElement(Objectobj)方法:該方法是將指定的publicvoidaddElement(intindex,Objectobj)方法:該方法在 publicvoidinser ementAt(Objectobj,intindex)方法:該方ArrayList之一,可以向其中添加包括null值在內(nèi)的所有對象型的元素,甚至該類對象自己也可以作為其中的元素,這樣便可以方publicArrayList()

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論