Java學(xué)習(xí)筆記(必看經(jīng)典)_第1頁
Java學(xué)習(xí)筆記(必看經(jīng)典)_第2頁
Java學(xué)習(xí)筆記(必看經(jīng)典)_第3頁
Java學(xué)習(xí)筆記(必看經(jīng)典)_第4頁
Java學(xué)習(xí)筆記(必看經(jīng)典)_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、誠信、創(chuàng)新、開放、合作面向?qū)ο笾饕槍γ嫦蜻^程O 面向過程的基本單元是函數(shù)。什么是對象:EVERYTHING IS OB JECT (萬物皆對象) 所有的事物都有兩個方面:有什么(屬性人用來描述對象。能夠做什么(方法人告訴外界對象有那些功能。后者以前者為基礎(chǔ)。大的對象的屬性也可以是一個對象。為什么要使用面向?qū)ο螅菏紫龋嫦驅(qū)ο蠓先祟惪创挛锏囊话阋?guī)律。對象的方法的實(shí)現(xiàn)細(xì)節(jié)是屏蔽的,只有對象方法的實(shí)現(xiàn)者了解細(xì)節(jié)。 方法的定義非常重要方法有參數(shù),也可能有返回值。注意區(qū)分:對象(本身)、對象的實(shí)現(xiàn)者、對象的調(diào)用者。 分析對象主要從方法開始。我們通過類來看待對象,類是對象的抽象。其次,采用面向?qū)ο蠓?/p>

2、法可以使系統(tǒng)各部分各司其職、各盡所能。對象之間的耦合性一定要低(比如不同硬盤和不同主板之間的關(guān)系)。這樣才能使每個對象本身做成最 好的。對于對彖的要求:高內(nèi)聚、低耦合,這樣容易拼裝成為一個系統(tǒng)。 實(shí)現(xiàn)高內(nèi)聚就是要最大限度低提高復(fù)用性(復(fù)用性好是因?yàn)楦邇?nèi)聚)。可復(fù)用性是OOP的基礎(chǔ)。比較面向過程的思想和面向?qū)ο蟮乃枷? 面向過程的思想:由過程、步驟、函數(shù)組成,以過程為核心;面向?qū)ο蟮乃枷耄阂詫ο鬄橹行?,先開發(fā)類,得到對象,通過對象之間相互通信實(shí)現(xiàn)功能。 面向過程是先有算法,后有數(shù)據(jù)結(jié)構(gòu)。面向?qū)ο笫窍扔袛?shù)據(jù)結(jié)構(gòu),然后再有算法。在用面向?qū)ο笏枷腴_發(fā)的過程中,可以復(fù)用對象就進(jìn)行復(fù)用,如無法進(jìn)行復(fù)用則開

3、發(fā)新的對象。開發(fā)過程是用對個簡單的對象的多個簡單的方法,來實(shí)現(xiàn)復(fù)雜的功能。從語法上來看,一個類是一個新的數(shù)據(jù)類型。在面向?qū)ο缶幊讨校撕唵螖?shù)據(jù)類型,就是對象類型。定義類的格式:class Student代碼注意類名中單詞的首字母大寫。實(shí)例變量:定義在類中但在任何方法之外。(New出來的均有初值)局部變量:定義在方法之中的變量。局部變量要先賦值,再進(jìn)行運(yùn)算,而實(shí)例變量均已經(jīng)賦初值。這是局部變量和實(shí)例變量的一大區(qū)別。實(shí)例變量的對象賦值為nulL局部變量不允許范圍內(nèi)定義兩個同名變量。實(shí)例變量的作用域在本類中完全有效,當(dāng)被其他的類調(diào)用的 時候也可能有效。實(shí)例變量和局部變量允許命名沖突.調(diào)用過程中 可

4、能出現(xiàn)的例外 throw Excepion方法體書寫方法的格式:修飾符返回值方法名public int/void addNumber(參數(shù))例:public int addNumber(int a,int b)注:方法名中的參數(shù)int a,int b為局部變量類方法中的一類特殊方法:構(gòu)造方法。構(gòu)造方法是當(dāng)用類生成對象時,系統(tǒng)在生成對象的過程中利用的方法。注意:構(gòu)造方法在生成對象的時候會被調(diào)用,但并不是構(gòu)造方法生成了對象。構(gòu)造方法沒有返回值。格式為:public方法名。構(gòu)造方法的方法名與類名相同。構(gòu)造方法是在對象生成的過程中自動調(diào)用,不可能利用指令去調(diào)用。在一個對象的生成周期中構(gòu)造方法只用一次,

5、一旦這個對象生成,那么這個構(gòu)造方法失效。用類來生成對象的語句:Student s=new Student()o第一個Student 示這是用Student類進(jìn)行定義。Studen()表示調(diào)用一個無參數(shù)的構(gòu)造方法。 如果()中有參數(shù),則系統(tǒng)構(gòu)造對象的過程中調(diào)用有參的方法。此時S稱為一個對象變量。Student s的存儲區(qū)域存放的是地址:一個對象在硬盤上占有一個連續(xù)地址,首地址賦予s空間。S稱為對象Student的引用。注意:在對象變量中存放的是引用(地址);在簡單變量中存放的是數(shù)值。可以構(gòu)造多個構(gòu)造方法,但多個構(gòu)造方法的參數(shù)表一定不同,參數(shù)順序不同即屬于不同的構(gòu)造方法: public stude

6、nt(string name,int a)public student(int a,string name)為兩個不同的構(gòu)造方法。如果我們未給系統(tǒng)提供一個構(gòu)造方法,那么系統(tǒng)會自動提供一個為空的構(gòu)造方法。練習(xí):寫一個類,定義一個對象,定義兩個構(gòu)造方法:一個有參,一個無參。(編寫一個程序驗(yàn)證對象的傳遞的值為地址)注意下面這種形式:static void changename(student stu)stu.setName LUCY”注意生成新的對象與舊對象指向無關(guān),生成新對象生命消亡與舊對象無關(guān)。面向?qū)ο蠓椒ǖ闹剌d(overloading)和覆蓋(overriding)在有些JAVA書籍中將ove

7、rriding稱為重載,overloading稱為過載。Overloading在一個類中可以定義多個同名方法,各個方法的參數(shù)表一定不同。但修飾詞可能相同,返回值也可能相同。在程序的編譯過程中根據(jù)變量類型來找相應(yīng)的方法。因此也有人認(rèn)為overloading是編譯時的多態(tài), 以后我們還會學(xué)到運(yùn)行時多態(tài)。為什么會存在overloading技術(shù)呢?作為應(yīng)對方法的細(xì)節(jié)。 利用類型的差異來影響對方法的調(diào)用.吃()可以分為吃肉,吃菜,吃藥,在一個類中可以定義多個吃方法.構(gòu)造方法也可以實(shí)現(xiàn)overload ingo例:public void teach();public void teach(int a);p

8、ublic void teach(String a)為三種不同的方法。Overloading方法是從低向高轉(zhuǎn)。Bytehortfloatintlong oubleo在構(gòu)造方法中,this表示本類的其他構(gòu)造方法: student();student(string n)this();表示調(diào)用 student()如果調(diào)用 student(int a)則為 this(int a)特別注意:用this調(diào)用其他構(gòu)造方法時,this必須為第一條語句,然后才是其他語句。This表示當(dāng)前對彖。Public void printNum()Int number=40;System.out.println(this.

9、number);此時打印的是實(shí)例變量,而非局部變量,即定義在類中而非方法中的變量。This.number表示實(shí)例變量。誰調(diào)用this.nuniber那么誰即為當(dāng)前(this)對象的number方法。封裝:使對象的屬性盡可能私有,對象的方法盡可能的公開。用private表示此成員屬性為該類的私有 屬性。Fublii表示該屬性(方法)公開;Private表示該屬性(方法)為只有本類內(nèi)部可以訪問(類內(nèi)部可見)。(想用private還要用set和get方法供其他方法調(diào)用,這樣可以保證對屬性的訪問方式統(tǒng)一,并且便于 維護(hù)訪問權(quán)限以及屬性數(shù)據(jù)合法性)如果沒有特殊情況,屬性一定私有,方法該公開的公開。如果不

10、指明誰調(diào)用方法,則默認(rèn)為thiSo區(qū)分實(shí)例變量和局部變量時一定要寫this。11.29繼承:父類(SuperClass)和子類(SonClass)o父類的非私有化屬性和方法可以默認(rèn)繼承到子類。Class Son extends FatherJ而如果父類中的私有方法被子類調(diào)用的話,則編譯報錯。父類的構(gòu)造方法子類不可以繼承,更不存在覆蓋的問題。(非構(gòu)造方法可以)如果子類訪問父類的構(gòu)造方法,則在編譯的時候提示訪問不到該方法。JAVA中不允許多繼承,一個類有且只有一個父類(單繼承)。JAVA的數(shù)據(jù)結(jié)構(gòu)為樹型結(jié)構(gòu),而非網(wǎng)狀。(JAVA通過接口和內(nèi)部類實(shí)現(xiàn)多繼承)方法的覆蓋(overriding)方法的重

11、載并不一定是在一個類中:子類可以從父類繼承一個方法,也可以定義一個同名異參的方法, 也稱為 overloading。當(dāng)子類從父類繼承一個無參方法,而又定義了一個同樣的無參方法,則子類新寫的方法覆蓋父類的方法, 稱為覆蓋。(注意返回值類型也必須相同,否則編譯出錯如果方法不同,則成重載。對于方法的修飾詞,子類方法要比父類的方法范圍更加的寬泛。父類為public,那么子類為private則出現(xiàn)錯誤。之所以構(gòu)造方法先運(yùn)行父類再運(yùn)行子類是因?yàn)闃?gòu)造方法是無法覆蓋的。以下范圍依次由嚴(yán)到寬:private :本類訪問;default :表示默認(rèn),不僅本類訪問,而且是同包可見。Protected:同包可見+不同

12、包的子類可見Public :表示所有的地方均可見。當(dāng)構(gòu)造一個對象的時候,系統(tǒng)先構(gòu)造父類對象,再構(gòu)造子類對象。構(gòu)造一個對象的順序:(注意:構(gòu)造父類對象的時候也是這幾步) 遞歸地構(gòu)造父類對象; 順序地調(diào)用本類成員屬性賦初值語句; 本類的構(gòu)造方法。Super()表示調(diào)用父類的構(gòu)造方法。Super()也和this 樣必須放在第一行。This()用于調(diào)用本類的構(gòu)造方法。如果沒有定義構(gòu)造方法,那么就會調(diào)用父類的無參構(gòu)造方法,即super().要養(yǎng)成良好的編程習(xí)慣:就是要加上默認(rèn)的父類無參的構(gòu)造方法。思考:可是如果我們沒有定義無參的構(gòu)造方法,而在程序中構(gòu)造了有參的構(gòu)造方法,那么如果方法中沒 有參數(shù),那么系統(tǒng)

13、還會調(diào)用有參的構(gòu)造方法么?應(yīng)該不會.多態(tài):多態(tài)指的是編譯時類型變化,而運(yùn)行時類型不變。多態(tài)分兩種: 編譯時多態(tài):編譯時動態(tài)重載; 運(yùn)行時多態(tài):指一個對象可以具有多個類型。對象是客觀的,人對對象的認(rèn)識是主觀的。例:Animal a=new Dog():査看格式名稱;Dog d=(Dog)ao聲明父類來引用子類。(思考上面的格式)運(yùn)行時多態(tài)的三原則:(應(yīng)用時為覆蓋)K 對象不變;(改變的是主觀認(rèn)識)2、對于對彖的調(diào)用只能限于編譯時類型的方法,如調(diào)用運(yùn)行時類型方法報錯。在上面的例子中:Animal a=new Dog();對象a的編譯時類型為Animal,運(yùn)行時類型為dog。 注意:編譯時類型一定要

14、為運(yùn)行時類型的父類(或者同類型)。對于語句:Dog d=(Dog)ao將d強(qiáng)制聲明為a類型,此時d為Dog (),此時d就可以調(diào)用運(yùn)行時類型。 注意:a和d指向同一對象。3、在程序的運(yùn)行時,動態(tài)類型判定運(yùn)行時調(diào)用運(yùn)行時類型,即它調(diào)用覆蓋后的方法。關(guān)系運(yùn)算符:instanceofa instanceof Animal;(這個式子的結(jié)果是一個布爾表達(dá)式)a為對象變量,Animal是類名。上面語句是判定a是否可以貼Animal標(biāo)簽。如果可以貼則返回true,否則返回false。 在上面的題目中:a instanceof Animal返回True,a instanceof Dog 也返回 True,i

15、nstanceof用于判定是否將前面的對象變量賦值后邊的類名。 Instanceof 一般用于在強(qiáng)制類型轉(zhuǎn)換之前判定變量是否可以強(qiáng)制轉(zhuǎn)換。如果 Animal a=new Animal();Dog d=Dog()a;此時編譯無誤,但運(yùn)行則會報錯。Animal a=new Dog()相當(dāng)于下面語句的功能:Animal a=getAnimal();Public static Animal.getAnimal;Return new Dog();封裝、繼承、多態(tài)為面向?qū)ο蟮娜蠡?特性)。運(yùn)行時的動態(tài)類型判定針對的是方法。運(yùn)行程序訪問的屬性仍為編譯時屬性。Overloading針對的是編譯時類型,不存

16、在運(yùn)行時的多態(tài)。習(xí)題:建立一個shape類,有circle和rect子類。Shape 類有 zhouchangO和 area()兩種方法。(正方形)squ為rect子類,rect有cha()用于比較長寬的差。覆蓋時考慮子類的private及父類的public (考慮多態(tài)),之所以這樣是避免調(diào)用A時出現(xiàn)實(shí)際調(diào)用B 的情況。而出現(xiàn)錯誤.11.29下午講的是教程上的Module6Module6-7包括:面向?qū)ο蟾呒?、?nèi)部類、集合、反射(暫時不講)、例外。面向?qū)ο蟾呒?、集合和例外都是面向?qū)ο蟮暮诵膬?nèi)容。面向?qū)ο蟾呒墸盒揎椃簊tatic:可修飾變量(屬性);可修飾方法;可修飾代碼塊。Static in

17、t data語句說明data為類變量,為一個類的共享變量,屬于整個類。 Int data為實(shí)例變量。例:static int data;ml.data=O;ml.data+的結(jié)果為1,此時m2.data的結(jié)果也為1。Static定義的是一塊為整個類共有的一塊存儲區(qū)域,其發(fā)生變化時訪問到的數(shù)據(jù)都時經(jīng)過變化的。其變量可以通過類名去訪問:類名變量名。與通過訪問對象的編譯時類型訪問類變量為等價的。Public static void printData()表明此類方法為類方法(靜態(tài)方法)靜態(tài)方法不需要有對象,可以使用類名調(diào)用。靜態(tài)方法中不允許訪問類的非靜態(tài)成員,包括成員的變量和方法,因?yàn)榇藭r是通過類調(diào)

18、用的,沒有對象 的概念。This.data是不可用的。一般情況下,主方法是靜態(tài)方法,所以可調(diào)用靜態(tài)方法,主方法為靜態(tài)方法是因?yàn)樗钦麄€軟件系統(tǒng)的 入口,而進(jìn)入入口時系統(tǒng)中沒有任何對象,只能使用類調(diào)用.覆蓋不適用于靜態(tài)方法。靜態(tài)方法不可被覆蓋。(允許在子類中定義同名靜態(tài)方法,但是沒有多態(tài),嚴(yán)格的講,方法間沒有多態(tài) 就不能稱為覆蓋)當(dāng)static修飾代碼塊時(注:此代碼塊要在此類的任何一個方法之外),那么這個代碼塊在代碼被裝載進(jìn) 虛擬機(jī)生成對象的時候可被裝載一次,以后再也不執(zhí)行了.一般靜態(tài)代碼塊被用來初始化靜態(tài)成員.Static通常用于Singleton模式開發(fā):Singleton是一種設(shè)計模式,

19、高于語法,可以保證一個類在整個系統(tǒng)中僅有一個對象。11.30fhud可以修飾類、屬性.方法。當(dāng)用final修飾類的時候,此類不可被繼承,即血川類沒有子類。這樣可以用final保證用戶調(diào)用時動作 的一致性,可以防止子類覆蓋情況的發(fā)生。當(dāng)利用final修飾一個屬性(變量)的時候,此時的屬性成為常量。JAVA利用final定義常量(注意在JAVA命名規(guī)范中常量需要全部字母都大寫): Final int AGE=10;常量的地址不可改變,但在地址中保存的值(即對象的屬性)是可以改變的。Final可以配合static使用。?Static final int age=10;定格式)。在JAVA中利用pub

20、lic static final的組合方式對常量進(jìn)行標(biāo)識對于在構(gòu)造方法中利用final進(jìn)行賦值的時候,此時在構(gòu)造之前系統(tǒng)設(shè)置的默認(rèn)值相對于構(gòu)造方法失效。常量(這里的常量指的是實(shí)例常量:即成員變量)賦值: 在初始化的時候通過顯式聲明賦值。Final int x=3; 在構(gòu)造的時候賦值局部變量可以隨時賦值。利用final定義方法:這樣的方法為一個不可覆蓋的方法.Public final void print();為了保證方法的一致性(即不被改變),可將方法用final定義。如果在父類中有final定義的方法,那么在子類中繼承同一個方法。如果一個方法前有修飾詞private或static,則系統(tǒng)會自

21、動在前面加上final即private和static 方法默認(rèn)均為final方法。注:final并不涉及繼承,繼承取決于類的修飾符是否為private、defaults protected還是public 也就是說,是否繼承取決于這個方法對于子類是否可見。Abstract (抽象)可以修飾類、方法如果將一個類設(shè)置為abstract,則此類必須被繼承使用。此類不可生成對象,必須被繼承使用。Abstract可以將子類的共性最大限度的抽取出來,放在父類中,以提高程序的簡潔性。Abstract雖然不能生成對象,但是可以聲明,作為編譯時類型,但不能作為運(yùn)行時類型。Final和abstract永遠(yuǎn)不會同時

22、出現(xiàn)。當(dāng)abstract用于修飾方法時,此時該方法為抽象方法,此時方法不需要實(shí)現(xiàn),實(shí)現(xiàn)留給子類覆蓋,子 類覆蓋該方法之后方法才能夠生效。注意比較:private void print () ;此語句表示方法的空實(shí)現(xiàn)。Abstract void print ();此語句表示方法的抽象,無實(shí)現(xiàn)。如果一個類中有一個抽象方法,那么這個類一定為一個抽象類。反之,如杲一個類為抽象類,那么其中可能有非抽象的方法。如果讓一個非抽象類繼承一個含抽象方法的抽象類,則編譯時會發(fā)生錯誤。因?yàn)楫?dāng)一個非抽象類繼承一 個抽象方法的時候,本著只有一個類中有一個抽象方法,那么這個類必須為抽象類的原則。這個類必須為抽象類,這與此

23、類為非抽象沖突,所以報錯。所以子類的方法必須覆蓋父類的抽象方法。方法才能夠起作用。只有將理論被熟練運(yùn)用在實(shí)際的程序設(shè)計的過程中之后,才能說理論被完全掌握!為了實(shí)現(xiàn)多態(tài),那么父類必須有定義。而父類并不實(shí)現(xiàn),留給子類去實(shí)現(xiàn)。此時可將父類定義成abstmct 類。如果沒有定義抽象的父類,那么編譯會出現(xiàn)錯誤。Abstract和static不能放在一起,否則便會出現(xiàn)錯誤。(這是因?yàn)閟tatic不可被覆蓋,而abstract為了生 效必須被覆蓋。) 例:(本例已存在CODINGabstractTestCIass.java 文件中) public class TestClassJpublic static

24、void main(String args)SuperClass sc=new SubClass();Sc.print();Abstract class SuperClassAbstract void print();class SubClass extends SuperClass()void print()SystemoutpFintln(pFint); 接口與類屬于同一層次,實(shí)際上,接口是一種特殊的抽象類。 如:JAVA的核心概念:接口(interface)interface IAIpublic interface:公開接口與類相似,一個文件只能有一個public接口,且與文件名相同。

25、在一個文件中不可同時定義一個public接口和一個public類。一個接口中,所有方法為公開、抽象方法;所有的屬性都是公開、靜態(tài)、常量。一個類實(shí)現(xiàn)一個接口的格式:class IAlniple implements IA;一個類實(shí)現(xiàn)接口,相當(dāng)于它繼承一個抽象類。類必須實(shí)現(xiàn)接口中的方法,否則其為一抽象類。 實(shí)現(xiàn)中接口和類相同。接口中可不寫public,但在子類中實(shí)現(xiàn)接口的過程中public不可省。(如果剩去public則在編譯的時候提示出錯:對象無法從接口中實(shí)現(xiàn)方法。)注: 一個類除繼承另外一個類,還可以實(shí)現(xiàn)接口;class IAImpl extends java, util. Arrylist

26、implement IA繼承類實(shí)現(xiàn)接口這樣可以實(shí)現(xiàn)變相的多繼承。 一個類只能繼承另外一個類,但是它可以繼承多個接口,中間用“,”隔開。Imp1ernents IA, IB所謂實(shí)現(xiàn)一個接口,就是指實(shí)現(xiàn)接口中的方法。 接口和接口之間可以定義繼承關(guān)系,并且接口之間允許實(shí)現(xiàn)多繼承。例:interface IC extends IA, IB ;接口也可以用于定義對象IA I=new IAImpl ();實(shí)現(xiàn)的類從父類和接口繼承的都可做運(yùn)行時類型。IAImple extends A imp1ement IA, IBIB I=new IAImple ():I instance of IAImple:I in

27、stance of A;I instance of IA;I instance of IB;返回的結(jié)果均為true.接口和多態(tài)都為JAVA技術(shù)的核心。接口往往被我們定義成一類XX的東西。接口實(shí)際上是定義一個規(guī)范、標(biāo)準(zhǔn)。 通過接口可以實(shí)現(xiàn)不同層次、不同體系對象的共同屬性;通過接 口實(shí)現(xiàn) write once as anywhere.以JAVA數(shù)據(jù)庫連接為例子:JDBC制定標(biāo)準(zhǔn);數(shù)據(jù)廠商實(shí)現(xiàn)標(biāo)準(zhǔn);用戶使用標(biāo)準(zhǔn)。接口通常用來屏蔽底層的差異。 接口也因?yàn)樯鲜鲈虮挥脕肀3旨軜?gòu)的穩(wěn)定性。JAVA中有一個特殊的類:Objecto它是JAVA體系中所有類的父類(直接父類或者間接父類)。此類中的方法可以使所的

28、類均繼承。以下介紹的三種方法屬于Object:finalize方法:當(dāng)一個對象被垃圾回收的時候調(diào)用的方法。toStringO:是利用字符串來表示對象。當(dāng)我們直接打印定義的對象的時候,隱含的是打印toStringO返回值??梢酝ㄟ^子類作為一個toStringO來覆蓋父類的toStringO toStringO, equals(),還有 hashCode()HashSet底層用的也是數(shù)組。當(dāng)向數(shù)組中利用add(Object o)添加對象的時候,系統(tǒng)先找對象的hashCode:int hc=o.hashCode();返回的 hashCode 為整數(shù)值。Int I=hc%n; (n為數(shù)組的長度),取得余數(shù)后,利用余數(shù)向數(shù)組中相應(yīng)的位置添加數(shù)據(jù),以n為6為例, 如果1=0則放在數(shù)組a0位賢,如果1=1 .則放在數(shù)組al位置。如果equals()返回的值為true,貝lj說明 數(shù)據(jù)重復(fù)。如果equals()返回的值為fals則再找其他的位置進(jìn)行比較。這樣的機(jī)制就導(dǎo)致兩

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論