JAVA程序設(shè)計(jì)技能教程第5章_第1頁(yè)
JAVA程序設(shè)計(jì)技能教程第5章_第2頁(yè)
JAVA程序設(shè)計(jì)技能教程第5章_第3頁(yè)
JAVA程序設(shè)計(jì)技能教程第5章_第4頁(yè)
JAVA程序設(shè)計(jì)技能教程第5章_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章類(lèi)和對(duì)象

任務(wù)一:掌握類(lèi)和對(duì)象基本知識(shí)

任務(wù)三:實(shí)訓(xùn)五類(lèi)和對(duì)象的使用

任務(wù)二:掌握類(lèi)的封裝

5.1任務(wù)一掌握類(lèi)和對(duì)象基本知識(shí)

5.1.1面向?qū)ο蠡靖拍蠲嫦驅(qū)ο螅∣bject-oriented)就是一種常見(jiàn)的程序結(jié)構(gòu)設(shè)計(jì)的方法面,面向?qū)ο螅∣O)方法是一種程序設(shè)計(jì)方法,其基本思想是使用抽象、對(duì)象、類(lèi)、繼承、消息、多態(tài)等基本概念進(jìn)行程序設(shè)計(jì)。

1.抽象:科學(xué)研究中經(jīng)常使用的一種方法,即是從現(xiàn)實(shí)世界的眾多的事物中抽出事物的本質(zhì)特性而暫時(shí)不考慮它們的細(xì)節(jié),得到眾多事物的一個(gè)清晰的基本框架的手段而已。2.對(duì)象

對(duì)象沒(méi)有一個(gè)明確的定義。我們可以將對(duì)象看作是現(xiàn)實(shí)生活當(dāng)中頭能夠被識(shí)別、被理解,具有明確的行為、思想、感覺(jué)的人或事物。對(duì)象具有一些特征:對(duì)象是現(xiàn)實(shí)的抽象的事物,對(duì)計(jì)算機(jī)所能完成的任務(wù)的描述起到重要作用。對(duì)象應(yīng)具有某些屬性,即數(shù)據(jù),同時(shí)也表現(xiàn)出特定的行為??梢酝ㄟ^(guò)對(duì)屬性和行為的定義,將相似的對(duì)象劃分為同一類(lèi)。通過(guò)這個(gè)類(lèi)還可以派生出更多的具體的對(duì)象。對(duì)象之間還可以進(jìn)行相互作用或相互操作,也就是說(shuō),一個(gè)對(duì)象可以通過(guò)執(zhí)行某些指令來(lái)操作另外一個(gè)對(duì)象的數(shù)據(jù)。在和對(duì)象交互的過(guò)程中,對(duì)象內(nèi)部的運(yùn)作方式對(duì)用戶是不可見(jiàn)的。這就保證了對(duì)象的安全性。對(duì)象可以被其他系統(tǒng)包含和復(fù)用。3.類(lèi)

類(lèi)是現(xiàn)實(shí)世界某些對(duì)象的共同特征(屬性和操作)的表示,是對(duì)象的藍(lán)圖或模型,通過(guò)類(lèi)可以創(chuàng)建多個(gè)對(duì)象。4.封裝

封裝是把數(shù)據(jù)和方法放到一個(gè)類(lèi)中的過(guò)程,即將信息隱蔽的過(guò)程。是什么促使我們將信息隱蔽呢?原因有兩點(diǎn):一、防止程序員接觸他們不該接觸的東西——通常是內(nèi)部數(shù)據(jù)類(lèi)型的設(shè)計(jì)思想。若只是為了解決特定的問(wèn)題,用戶只需操作接口即可,毋需明白這些信息。二、只允許庫(kù)設(shè)計(jì)人員修改內(nèi)部結(jié)構(gòu),不用擔(dān)心它會(huì)對(duì)客戶程序員造成什么影響。5.1.2類(lèi)的聲明類(lèi)的聲明類(lèi)聲明定義一個(gè)類(lèi)的名稱(chēng)、訪問(wèn)權(quán)限、與其他類(lèi)的關(guān)系等。聲明類(lèi)的格式為:

[類(lèi)修飾符]class類(lèi)名[extends父類(lèi)名][implements接口名表]{

類(lèi)體

}

說(shuō)明:class聲明類(lèi)的關(guān)鍵字。

extends指明本類(lèi)繼承的父類(lèi),在其后指定父類(lèi)名

implements指明本類(lèi)使用的接口,在其后指定接口名表類(lèi)修飾符用于指定類(lèi)的使用特性和訪問(wèn)權(quán)限,例如類(lèi)是否為抽象類(lèi)或最終類(lèi)等??扇∫韵氯N之一:

public表明本類(lèi)是共有類(lèi),在本包與其他包內(nèi)均可訪問(wèn)。

abstract表明本類(lèi)為抽象類(lèi),必須被繼承后才能使用。

final表明本類(lèi)為最終類(lèi),不能被其他類(lèi)繼承。類(lèi)聲明緊接一對(duì)大括號(hào),在大括號(hào)中是類(lèi)體?!纠?-1】程序題目publicclassPeople{publicStringname;

publiccharsex;

publicintage;

publicStringIdcard;

publicPeople(){}

publicPeple(Stringname,intage,StringIdcard){=name;

this.age=age;

this.Idcard=Idcard;}publicStringgetIdcard(){returnthis.Idcard;

}publicStringsetIdcard(StringIdcard){this.Idcard=Idcard;

}}下面是一些使用不同修飾符組合進(jìn)行類(lèi)定義的例子。(1)空類(lèi)

classempty{}(2)最簡(jiǎn)單的類(lèi)

classPeople{類(lèi)體;}(3)公有類(lèi)publicclassPeople{類(lèi)體;}(4)最終類(lèi)publicfinalclassPeople{類(lèi)體;}(5)抽象類(lèi)publicabstractclassPeople{類(lèi)體;}(6)繼承了父類(lèi)People的子類(lèi)publicclassEmployeeextendsPeople{類(lèi)體;}(7)繼承了父類(lèi)且實(shí)現(xiàn)了一個(gè)接口的類(lèi)publicclassEmployeeextendsPeopleimplementsComparable{類(lèi)體;}5.1.3方法的聲明完整的成員方法聲明語(yǔ)法格式:[修飾符]方法返回值類(lèi)型方法名([形參數(shù)列表])[throws異常類(lèi)]{

語(yǔ)句序列;

[return[返回值]];}例如,下面的程序是求最小值的方法聲明。publicintmin(inta,intb){intc;

c=(a>b)?a:b;

returnc;}說(shuō)明:(1)方法的修飾符是用于指定本方法的訪問(wèn)權(quán)限和特性,例如,方法是否為公有方法或類(lèi)方法等。方法的修飾符有以下幾種:①public|private|protected|default:該修飾符被稱(chēng)為訪問(wèn)控制修飾符,其規(guī)定了成員方法的可見(jiàn)范圍。例如,public訪問(wèn)修飾符表示該方法可以被任何其他代碼調(diào)用,而private表示方法只能被類(lèi)中的其他方法調(diào)用。②static該修飾符聲明了本方法是類(lèi)方法。③final該修飾符聲明了本方法為不可被子類(lèi)所重寫(xiě)的最終方法。不可與abstract修飾符同時(shí)使用。④abstract該修飾符聲明了本方法為抽象類(lèi)中的抽象方法,必須在非抽象的子類(lèi)中實(shí)現(xiàn)具體操作。不可與final修飾符同時(shí)使用。(2)方法的返回值類(lèi)型可以是基本數(shù)值型,也可以是任一引用類(lèi)型,當(dāng)沒(méi)有返回值時(shí),其類(lèi)型默認(rèn)為void。(3)形參數(shù)列表用于接收方法調(diào)用時(shí)外界傳來(lái)的參數(shù),也可以沒(méi)有參數(shù),但注意的是小括號(hào)是不能省略的。每個(gè)參數(shù)都必須要有自己獨(dú)立的類(lèi)型聲明,即使相鄰的兩個(gè)參數(shù)的類(lèi)型是相同的也不能公用類(lèi)型聲明,參數(shù)之間要用逗號(hào)隔開(kāi)。(4)throws異常類(lèi):其中出現(xiàn)多個(gè)異常類(lèi)時(shí)要用逗號(hào)隔開(kāi)。5.1.4方法調(diào)用及參數(shù)傳遞1.方法調(diào)用方法根據(jù)其是否帶有static修飾符可以分為類(lèi)方法和對(duì)象方法(實(shí)例方法)。(1)對(duì)象方法調(diào)用的格式:對(duì)象名.方法名(實(shí)參列表);(2)類(lèi)方法調(diào)用的格式:類(lèi)名.方法名(實(shí)參列表);沒(méi)有返回值的方法調(diào)用,通常調(diào)用的方式比較簡(jiǎn)單,一般直接構(gòu)成方法調(diào)用語(yǔ)句。例如:System.out.println(“Iamaboy!”);例如:intmin=0;…min=Math.min(3,4);2.參數(shù)傳遞(1)形參和實(shí)參【例5-2】程序題目publicclassTest{publicintmin(inta,intb){intc;

c=(a>b)?a:b;

returnc;}publicstaticvoidmain(String[]args){intmin=0,x=10,y=20;

Testt=newTest();

min=t.min(x,y);

System.out.println(“minis”+min);

}}(2)值傳遞【例5-3】程序題目//簡(jiǎn)單類(lèi)型是用值傳遞classTest{voidmethod(inti,intj){i=i+10;j=j-10;

}}publicclassCallByValue{publicstaticvoidmain(Stringargs[]){Testobject=newTest();

inta=25,b=30;

System.out.println("調(diào)用前a和b的值:"+a+""+b);

object.method(a,b);

System.out.println("調(diào)用后a和b的值:"+a+""+b);

}}(3)引用傳遞【例5-4】程序題目//當(dāng)參數(shù)為數(shù)組時(shí),傳遞的方式為引用傳遞publicclassT2{publicstaticvoidmain(String[]args){int[]a={1,2,3};method2(a);System.out.println(a[0]);System.out.println(a[1]);System.out.println(a[2]);}staticvoidmethod2(int[]a){a[0]=0;a[1]=7;a[2]=8;}}【例5-5】程序題目//當(dāng)參數(shù)為對(duì)象時(shí),傳遞的方式為引用傳遞classTest{inta,b;

Test(inti,intj){a=i;b=j;}//傳遞一個(gè)對(duì)象

voidmethod(Testob){ob.a=ob.a+10;ob.b=ob.b-10;}}

publicclassCallByReference{publicstaticvoidmain(Stringargs[]){Testobject=newTest(25,30);

System.out.println("調(diào)用前object.a和object.b的值:"+object.a+""+object.b);

object.method(object);

System.out.println("調(diào)用后object.a和object.b的值:"+object.a+""+object.b);

}}5.1.5對(duì)象的創(chuàng)建和使用1.對(duì)象聲明類(lèi)對(duì)象2.對(duì)象的創(chuàng)建(1)先聲明對(duì)象,再創(chuàng)建對(duì)象格式一:類(lèi)名對(duì)象變量;——新對(duì)象的聲明對(duì)象變量=new類(lèi)名([參數(shù)列表]);——新對(duì)象內(nèi)存空間的分配(2)聲明對(duì)象的同時(shí)創(chuàng)建對(duì)象格式二:類(lèi)名對(duì)象變量=new類(lèi)名([參數(shù)列表]);3.引用對(duì)象的成員變量和調(diào)用對(duì)象方法對(duì)象.成員變量對(duì)象.成員方法([參數(shù)列表])aday.year=2006;//引用對(duì)象的成員變量aday.setDate(2006,1,28);//調(diào)用對(duì)象的方法"abcd".equals("abc")

例如:Peopleperson1=newPeople();Peopleperson2=person1;=“王明”;4.this引用

this用來(lái)訪問(wèn)本類(lèi)的成員變量和成員方法的引用格式如下:(1)this.成員變量(2)this.成員方法([參數(shù)列表])一般情況下,在以下幾種情況下需要使用到this:第一,通過(guò)this調(diào)用另一個(gè)構(gòu)造方法,用法是this(參數(shù)列表),這個(gè)僅僅在類(lèi)的構(gòu)造方法中,別的地方不能這么用。第二,函數(shù)參數(shù)或是函數(shù)中的局部變量和成員變量同名的情況下,成員變量被屏蔽,此時(shí)要訪問(wèn)成員變量則需要用“this.成員變量名”的方式來(lái)引用成員變量。

第三,在函數(shù)中,需要引用該函所屬類(lèi)的當(dāng)前對(duì)象時(shí)候,直接用this。5.super引用

super用來(lái)訪問(wèn)父類(lèi)的成員變量和成員方法的引用格式有以下幾種:(1)super.成員變量(2)super.(參數(shù)列表)

(3)super.成員方法([參數(shù)列表])針對(duì)super的引用方式,下面總結(jié)一下super的用法:第一,在子類(lèi)構(gòu)造方法中要調(diào)用父類(lèi)的構(gòu)造方法,用“super(參數(shù)列表)”的方式調(diào)用,參數(shù)不是必須的。同時(shí)還要注意的一點(diǎn)是:“super(參數(shù)列表)”這條語(yǔ)句只能用在子類(lèi)構(gòu)造方法體中的第一行。第二,當(dāng)子類(lèi)方法中的局部變量或者子類(lèi)的成員變量與父類(lèi)成員變量同名時(shí),也就是子類(lèi)局部變量覆蓋父類(lèi)成員變量時(shí),用“super.成員變量名”來(lái)引用父類(lèi)成員變量。當(dāng)然,如果父類(lèi)的成員變量沒(méi)有被覆蓋,也可以用“super.成員變量名”來(lái)引用父類(lèi)成員變量,不過(guò)這是不必要的。第三,當(dāng)子類(lèi)的成員方法覆蓋了父類(lèi)的成員方法時(shí),也就是子類(lèi)和父類(lèi)有完全相同的方法定義(但方法體可以不同),此時(shí),用“super.方法名(參數(shù)列表)”的方式訪問(wèn)父類(lèi)的方法?!纠?-6】程序題目classPerson{

publicintnumber;

privateStringname;

privateintage;protectedvoidsetName(Stringname){

=name;

}

protectedvoidsetAge(intage){

this.age=age;

}protectedvoidprint(){System.out.println("姓名:"+name+",年齡:"+age);}}publicclassDemoSuperextendsPerson{

publicvoidprint(){System.out.println("DemoSuper:");super.print();}publicstaticvoidmain(String[]args){DemoSupertest=newDemoSuper();test.setName("張三");test.setAge(20);test.print();}}【例5-7】程序題目classPerson{

publicstaticvoidprint(Strings){System.out.println(s);}Person(){print("APerson.");}Person(Stringname){print("Apersonnameis:"+name);}}publicclassChineseextendsPerson{Chinese(){super();

//調(diào)用父類(lèi)構(gòu)造函數(shù)(1)print("Achinese.");//(4)}Chinese(Stringname){super(name);//調(diào)用父類(lèi)具有相同形參的構(gòu)造函數(shù)(2)print("hisnameis:"+name);}Chinese(Stringname,intage){this(name);//調(diào)用當(dāng)前具有相同形參的構(gòu)造函數(shù)(3)print("hisageis:"+age);}publicstaticvoidmain(String[]args){Chinesepeople=newChinese();people=newChinese("張三");people=newChinese("張三",20);}}5.1.6構(gòu)造方法及特點(diǎn)

1.構(gòu)造函數(shù)

(1)構(gòu)造函數(shù)1:

publicInteger(intvalue){this.value=value;

}(2)構(gòu)造函數(shù)2publicInteger(Stringa)throwsNumberFormatException{this.value=parseInt(s,10);

}2.構(gòu)造函數(shù)的特點(diǎn)構(gòu)造方法的使用局限在下述兩個(gè)地方:(1)創(chuàng)建對(duì)象。(2)在構(gòu)造方法的方法體的第一條語(yǔ)句,可以調(diào)用同類(lèi)中的另一各構(gòu)造方法或者是父類(lèi)的構(gòu)造方法。【例5-8】程序題目

//下面的People類(lèi)中包含兩個(gè)構(gòu)造函數(shù)。publicclassPeople{publicStringname;

publiccharsex;

publicintage;

publicStringIdcard;

//第一種構(gòu)造函數(shù),一個(gè)不帶任何參數(shù)和語(yǔ)句的構(gòu)造函數(shù)

publicPeople(){}//第二種構(gòu)造函數(shù),帶有參數(shù)的構(gòu)造函數(shù)

publicPeople(Stringname,intage,StringIdcard){=name;

this.age=age;

this.Idcard=Idcard;}}【例5-9】程序題目publicclassPeople{publicStringname;

publiccharsex;

publicintage;

publicStringIdcard;

publicStringgetIdcard(){returnthis.Idcard;

}publicStringsetIdcard(StringIdcard){this.Idcard=Idcard;

}}【例5-10】程序題目publicclassPeople{publicStringname;

publiccharsex;

publicintage;

publicStringIdcard;

publicPeple(Stringname,intage,StringIdcard){=name;

this.age=age;

this.Idcard=Idcard;}publicStringgetIdcard(){returnthis.Idcard;

}publicStringsetIdcard(StringIdcard){this.Idcard=Idcard;

}}【例5-11】程序題目

//例題5-10修改如下publicclassPeople{publicStringname;

publiccharsex;

publicintage;

publicStringIdcard;

publicPeople(){}publicPeople(Stringname,intage,StringIdcard){=name;

this.age=age;

this.Idcard=Idcard;}publicStringgetIdcard(){returnthis.Idcard;

}publicStringsetIdcard(StringIdcard){this.Idcard=Idcard;

}}5.1.7對(duì)象的初始化初始化的四個(gè)要點(diǎn),如下:1.如果有static,即靜態(tài)成員定義,首先初始化static的變量。2.static只初始化一次,在第二次創(chuàng)建類(lèi)的對(duì)象的時(shí)候,就不會(huì)去執(zhí)行static的語(yǔ)句。3.變量的初始化在方法前。4.在含有main的類(lèi)中執(zhí)行順序是先做static,然后就是main,而不是像其它類(lèi)一樣,除了static就按順序做下來(lái)。5.2任務(wù)二掌握類(lèi)的封裝

5.2.1訪問(wèn)權(quán)限訪問(wèn)控制符的修飾范圍名稱(chēng)修飾符本類(lèi)子類(lèi)包所有類(lèi)公共public可見(jiàn)可見(jiàn)可見(jiàn)可見(jiàn)私有private可見(jiàn)受保護(hù)protected可見(jiàn)可見(jiàn)可見(jiàn)友好――可見(jiàn)可見(jiàn)注意:(1)默認(rèn)修飾符為friend類(lèi),但在Java語(yǔ)言中,friend不是關(guān)鍵字。所以在默認(rèn)情況下,成員的訪問(wèn)范圍只在本類(lèi)和本包當(dāng)中,其子類(lèi)和其它類(lèi)是不能訪問(wèn)的。(2)修飾符protected僅僅用于繼承情況下。(3)當(dāng)一個(gè)類(lèi)成員的修飾符為public時(shí),說(shuō)明該成員可以被程序中任何其它代碼訪問(wèn)。(4)當(dāng)一個(gè)類(lèi)成員的修飾符為private時(shí),則該成員只能它自身類(lèi)的其它成員訪問(wèn)。訪問(wèn)控制符要放在成員類(lèi)型的其他說(shuō)明之前,也就是說(shuō),成員的聲明語(yǔ)句必須以訪問(wèn)控制符開(kāi)頭。【例5-12】程序題目classTest1{inta;publicintb;privateintc;voidsetc(inti){c=i;}

intgetc(){returnc;}}classTest2{publicstaticvoidmain(Stringargs[]){Test1object=newTest1();object.a=10;object.b=20;//object.c=100;//Error!object.setc(100);System.out.println("a,b,andc:"+object.a+""+object.b+""+object.getc());}}5.2.2類(lèi)變量和實(shí)例變量

1.類(lèi)變量類(lèi)變量也稱(chēng)為靜態(tài)變量,由static修飾,如:staticintage;age就是類(lèi)變量,它只能通過(guò)類(lèi)來(lái)訪問(wèn)。類(lèi)變量的訪問(wèn)格式不同于一般的實(shí)例變量。類(lèi)變量的訪問(wèn)格式:類(lèi)名.變量名【例5-13】程序題目//下面的例子說(shuō)明了類(lèi)變量b在它的類(lèi)之外如何被訪問(wèn)。classDemo{staticinta=42;staticintb=99;voidcallme(){System.out.println("a="+a);}}publicclassStaticByName{publicstaticvoidmain(Stringargs[]){Demoob=newDemo();ob.callme();System.out.println("b="+Demo.b);}}2.實(shí)例變量【例5-14】程序題目publicclassPeople{publicStringname;

publiccharsex;

publicintage;

publicStringIdcard;

//空構(gòu)造方法

publicPeople(){}

//帶三個(gè)參數(shù)的構(gòu)造方法

publicPeople(Stringname,intage,StringIdcard){=name;

this.age=age;

this.Idcard=Idcard;}publicstaticvoidmain(){Peoplep1=newPeople();Peoplep2=newPeople();}}3.類(lèi)變量和實(shí)例變量的區(qū)別(1)實(shí)例變量沒(méi)有static修飾符,它只能通過(guò)實(shí)例對(duì)象來(lái)訪問(wèn),而類(lèi)變量則直接通過(guò)類(lèi)名來(lái)訪問(wèn)。(2)同一類(lèi)的不同的實(shí)例對(duì)象有自己的實(shí)例變量,但是它們共享同一個(gè)類(lèi)變量。當(dāng)一個(gè)實(shí)例對(duì)象修改了它的實(shí)例變量時(shí),不會(huì)影響其他的實(shí)例對(duì)象。但當(dāng)一個(gè)實(shí)例對(duì)象修改了類(lèi)變量時(shí),則會(huì)影響其他的對(duì)象實(shí)例。而類(lèi)變量則是一變?nèi)?。?)類(lèi)變量要在使用前進(jìn)行初始化,實(shí)例變量則不需要。5.2.3類(lèi)成員方法和函數(shù)數(shù)學(xué)方法1.類(lèi)成員方法

類(lèi)方法的調(diào)用格式:類(lèi)名.方法名(實(shí)參列表)【例5-15】程序題目publicclassExample{publicstaticvoiddisplay(){System.out.println("類(lèi)的方法");}publicvoiddisplayOne(){System.out.println("對(duì)象的方法");}publicstaticvoidmain(String[]args){Example.display();Examplee=newExample();e.displayOne();}}類(lèi)方法體有以下限制,一旦違反將導(dǎo)致編譯錯(cuò)誤:(1)類(lèi)方法中不能引用對(duì)象變量(2)類(lèi)方法中不不調(diào)用類(lèi)的對(duì)象方法(3)在類(lèi)方法中不能使用super、this關(guān)鍵字。2.函數(shù)數(shù)學(xué)方法

sin(arg)cos(arg)tan(arg)asin(arg)acos(arg)atan(arg)atan2(arg1,arg2)正弦余弦正切余切反余弦反正切2個(gè)參數(shù)的反正切abs(arg)計(jì)算參數(shù)的絕對(duì)值max(arg1,arg2)返回較大一個(gè)ceil(arg)返回大于等于該參數(shù)的最小整數(shù)floor(arg)返回小于等于該參數(shù)的最大整數(shù)round(arg)計(jì)算于參數(shù)值最接近的整數(shù)(參數(shù)floor或double)rint(arg)計(jì)算于參數(shù)值最接近的整數(shù)(參數(shù)double)min(arg1,arg2)返回小的一個(gè)IEEEremainder(art1,arg

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論