JAVA面向?qū)ο蠡A(chǔ)課件_第1頁
JAVA面向?qū)ο蠡A(chǔ)課件_第2頁
JAVA面向?qū)ο蠡A(chǔ)課件_第3頁
JAVA面向?qū)ο蠡A(chǔ)課件_第4頁
JAVA面向?qū)ο蠡A(chǔ)課件_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章 面向?qū)ο蠡A(chǔ)第三章 面向?qū)ο蠡A(chǔ)目標: 介紹面向?qū)ο缶幊痰幕舅枷?,通過本課的學(xué)習(xí),應(yīng)該掌握如下知識:1)理解什么是類、對象、構(gòu)造方法,2)對象在內(nèi)存中的表現(xiàn)形式及如何使用對象等。3)Java的垃圾回收機制及訪問修飾符。目標:本章要點類和對象的關(guān)系面向?qū)ο蟮乃枷胱宇悓嵗倪^程對象的創(chuàng)建構(gòu)造方法變量的初始化順序?qū)ο髣?chuàng)建的內(nèi)存模型垃圾回收機制Java中的關(guān)鍵字this關(guān)鍵字static關(guān)鍵字本章要點類和對象的關(guān)系主要內(nèi)容類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型3Java中的關(guān)鍵字4主要內(nèi)容類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型3Jav類和對象的關(guān)系面向?qū)ο蟮乃枷耄?Object

2、 Oriented Programming,簡稱OOP)面向?qū)ο蟮幕舅枷胧?,從現(xiàn)實世界中客觀存在的事物出發(fā)來構(gòu)造軟件系統(tǒng),并在系統(tǒng)的構(gòu)造中盡可能運用人類的自然思維方式面向?qū)ο蟾訌娬{(diào)運用人類在日常的思維邏輯中經(jīng)常采用的思維方法與原則面向?qū)ο蟮娜齻€特征封裝繼承多態(tài)類和對象的關(guān)系面向?qū)ο蟮乃枷耄?Object Oriente類和對象的關(guān)系面向?qū)ο笈c面向過程public class Icebox static void putThings(String things) System.out.println(把冰箱門打開); System.out.println(把+things+放進來); Sys

3、tem.out.println(把冰箱門關(guān)上); void OpenIcebox() printf(“把冰箱門打開n);void PutElephantI() printf(“把大象放冰箱n);void CloseIcebox() printf(“把冰箱們關(guān)上n);int main() OpenIcebox(); PutElephantIn(); CloseIcebox();public class Mine public static void main(String args ) Icebox.putThings(大象); 面向?qū)ο竺嫦蜻^程類和對象的關(guān)系面向?qū)ο笈c面向過程public cl

4、ass I類和對象的關(guān)系類的定義把相似的對象劃歸成一個類。在軟件設(shè)計中,類,就是一個模板,它定義了通用于一個特定種類的所有對象的屬性(變量)和行為(方法)。類和對象的關(guān)系類的定義類和對象的關(guān)系類的定義 ?西游記游戲軟件中的游戲人物孫悟空:孫悟空的武器是金箍棒,戰(zhàn)斗力五顆星,耐力五顆星唐 僧:唐僧沒有武器,戰(zhàn)斗力為零,耐力五顆星豬八戒:豬八戒的武器是耙子,戰(zhàn)斗力四顆星,耐力兩顆星沙 僧:沙僧的武器是月牙鏟 ,戰(zhàn)斗力三顆星,耐力四顆星類和對象的關(guān)系類的定義類和對象的關(guān)系類的定義修飾符一般為public,也可以沒有修飾符。注意類名的命名規(guī)范。類名一般大寫類的成員:成員變量(屬性)成員函數(shù)(方法)通過

5、“.”調(diào)用屬性和方法訪問權(quán)限控制符 class 類名 類的成員 類和對象的關(guān)系類的定義類的完全聲明形式public abstract | final class 類名稱 extends 父類名稱 implements 接口名稱列表 變量成員聲明及初始化; 方法聲明及方法體;類的完全聲明形式變量聲明格式public | protected | private static finaltransient volatile變量數(shù)據(jù)類型 變量名1=變量初值, 變量名2=變量初值, ;格式說明public、protected、private 為訪問控制符static指明這是一個靜態(tài)成員變量final指明

6、變量的值不能被修改transient指明變量是臨時狀態(tài)volatile指明變量是一個共享變量變量聲明格式類的方法聲明格式:public|protected|privatestaticfinalabstractnativesynchronized 返回類型 方法名(參數(shù)列表) throws exceptionList 方法體; 類的方法聲明格式:格式說明方法修飾public、protected、private 為存取控制符static指明方法是一個類方法final指明方法是一個終結(jié)方法abstract指明方法是一個抽象方法native用來集成java代碼和其它語言的代碼synchronized用

7、來控制多個并發(fā)線程對共享數(shù)據(jù)的訪問格式說明方法調(diào)用給對象發(fā)消息意味著調(diào)用對象的某個方法從對象中取得信息 修改對象的狀態(tài)或進行某種操作 進行計算及取得結(jié)果等調(diào)用格式.(參數(shù)列表)稱點操作符“.”前面的為消息的接收者(receiver)參數(shù)傳遞值傳遞:參數(shù)類型為基本數(shù)據(jù)類型時引用傳遞:參數(shù)類型為對象類型或數(shù)組時方法調(diào)用訪問修飾符該類或非該類均可訪問public只有該類可以訪問private相同數(shù)據(jù)包中的類可以訪問default該類及其子類的成員可以訪問,同一個包中的類也可訪問protected訪問修飾符該類或非該類均可訪問public只有該類可以訪問p訪問修飾符訪問修飾符可訪問性位置private

8、默認protectedpublic同一個類是是是是同一個包內(nèi)的類否是是是不同包內(nèi)的子類否否是是不同包并且不是子類否否否是訪問修飾符訪問修飾符可訪問性位置private默認prote類和對象的關(guān)系類的定義Employee.javaclass Employee String name; int age; double salary; public String showName() System.out.println(name); return name; public int showAge() System.out.println(age); return age; public void

9、updateName(String name2) name = name2; public void getSalary() System.out.println(The salary of this month is 2000); 屬性方法類和對象的關(guān)系類的定義class Employee 屬性方類和對象的關(guān)系類的定義 練習(xí) Person.java定義一個Person類,Person類具有名字、年齡及性別等屬性,并具有一個getInfo( )方法可以打印出Person類的屬性, sayHello()方法和大家說“Hello everybody!”類和對象的關(guān)系類的定義類和對象的關(guān)系類的定義

10、練習(xí) Point.java 定義一個點類Point,包含兩個成員變量x、y分別表示x和y的坐標,一個movePoint(int dx,int dy)方法實現(xiàn)點的位置的移動。public class Pointint x,y;void movePoint(int dx,int dy)x=dx; y=dy;類和對象的關(guān)系類的定義類和對象的關(guān)系類的定義 練習(xí) MyDate.java 定義一個點日期MyDate,包含三個成員變量year 、month、day分別表示年、月、日,以及每個屬性對應(yīng)的get和set方法(如,year有g(shù)etYear( )方法用來獲得日期的年份,還有setYear(int y

11、)方法用來修改或設(shè)置日期的年份),最后還有printDate()方法,調(diào)用該方法可以把日期按照“yyyy-mm-dd”的形式輸出。類和對象的關(guān)系類的定義類和對象的關(guān)系類和對象的關(guān)系類(class) 是對某一類事物的描述對象(object) 是實際存在的某類事物的個體, 也稱為實例(instance)類是創(chuàng)建對象的模板,對象是類的實例。類和對象的關(guān)系類和對象的關(guān)系類和對象的關(guān)系對象的創(chuàng)建語法格式示例 TestEmployee.java類名 對象名 = new 構(gòu)造函數(shù)Employee zhang = new Employee( )類和對象的關(guān)系對象的創(chuàng)建類名 對象名 = new 構(gòu)類和對象的關(guān)系

12、對象的創(chuàng)建 練習(xí) TestPerson.java在TestPerson類里寫一個main方法,在main( )方法中: 創(chuàng)建一個Person類的對象這個對象的名字叫小沈陽,年齡28,性別男在控制臺中打印這個實例的信息并調(diào)用這個對象的sayHello( )方法,向大家問好類和對象的關(guān)系對象的創(chuàng)建類和對象的關(guān)系對象的創(chuàng)建 練習(xí) TestPoint.java在TestPoint類里寫一個main方法,在main( )方法中: 創(chuàng)建一個Point類的對象 這個點的坐標是(3,2) 將這個點移動到坐標為(5,6)的位置并把移動后的點的坐標按“(x,y)”形式打印在控制臺上類和對象的關(guān)系對象的創(chuàng)建類和對象

13、的關(guān)系對象的創(chuàng)建 練習(xí) TestDate.java在TestDate類里寫一個main方法,在main( )方法中: 創(chuàng)建一個MyDate類的對象 通過setXXX方法將該日期對象的時間設(shè)置為“2013年10月8日” 在控制臺上打印該對象的月份 把該日期對象按“2013-10-8”的格式輸出類和對象的關(guān)系對象的創(chuàng)建類和對象的關(guān)系匿名對象創(chuàng)建完對象,在調(diào)用該對象的方法時,也可以不定義對象的句柄,而直接調(diào)用這個對象的方法。這樣的對象叫匿名對象使用匿名對象的情況如果對一個對象只需要進行一次方法調(diào)用new Person().sayHello()Person p1 = new Person();p1.s

14、ayHello();類和對象的關(guān)系匿名對象new Person().sayHelContents類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型3Java中的關(guān)鍵字4Contents類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型構(gòu)造方法構(gòu)造方法(構(gòu)造函數(shù)/構(gòu)造器,Constructor)具有與類相同的名稱不含返回值類型不能在方法中用return語句返回一個值一般訪問權(quán)限為public 在一個類中,具有上述特征的方法就是構(gòu)造方法。構(gòu)造方法的作用完成對象的創(chuàng)建,即完成對象的實例化一般使用構(gòu)造方法來完成對成員變量的初始化 示例 TestPerson.java構(gòu)造方法構(gòu)造方法(構(gòu)造函數(shù)/構(gòu)造器,Constr

15、uctor)構(gòu)造方法默認的構(gòu)造方法在Java中,每個類都至少要有一個構(gòu)造方法,如果程序員沒有在類里定義構(gòu)造方法,系統(tǒng)會自動為這個類產(chǎn)生一個默認的構(gòu)造方法一旦編程者為該類定義了構(gòu)造方法,系統(tǒng)就不再提供默認的構(gòu)造方法class Employee public Employee( ) class Employee構(gòu)造方法默認的構(gòu)造方法class Employee構(gòu)造方法 練習(xí) 下列關(guān)于類的定義的選項中,哪些可以通過new Thing()方法來創(chuàng)建該類的一個對象_? A. public class Thing B. public class Thing public Thing() C. public

16、 class Thing D. public class Thing public Thing(void) public Thing(String s) E. public class Thing public void Thing() public Thing(String s) 答案:A、B構(gòu)造方法 練習(xí) 答案:A、B構(gòu)造方法 練習(xí) 給定下列代碼的執(zhí)行結(jié)果是_? public class A void A() System.out.println(“Class A”); public static void main(String args) new A(); A. Class A B.

17、在第2行處拋出異常 C. 編譯錯誤 D. 在第6行處拋出異常 E. 代碼執(zhí)行后沒有輸出答案:E構(gòu)造方法 練習(xí) 答案:E構(gòu)造方法類和對象的關(guān)系 練習(xí) XiyoujiRole.java構(gòu)造一個完整的西游記人物類,并定義一個構(gòu)造方法,通過這個方法可以創(chuàng)建不同的西游記人物,并寫一個main函數(shù)進行驗證。 孫悟空:孫悟空的武器是金箍棒,戰(zhàn)斗力五顆星,耐力五顆星唐 僧:唐僧沒有武器,戰(zhàn)斗力為零,耐力五顆星豬八戒:豬八戒的武器是耙子,戰(zhàn)斗力四顆星,耐力兩顆星沙 僧:沙僧的武器是月牙鏟 ,戰(zhàn)斗力三顆星,耐力四顆星構(gòu)造方法類和對象的關(guān)系 方法的重載方法的重載(overload)函數(shù)的重載就是在同一個類中允許同時

18、存在一個以上同名的函數(shù)方法重載的規(guī)則函數(shù)名稱相同函數(shù)的參數(shù)必須不同參數(shù)個數(shù)不同 或參數(shù)類型不同函數(shù)的返回值類型可以相同,也可以不同方法的重載方法的重載(overload)方法的重載方法的重載(overload)方法的重載方法的重載(overload)方法的重載 練習(xí) 下列選項中,哪些可以與void setAge(int year,int month,int day)方法在同一個類中定義_? A. public void setAge() B. void setAge(int age) C. void setAge(int y,int m,int d) D. int setAge(Date d)

19、 E. int setAge(int year,int month,int day) F. void setage(int year,int month,int dat)答案:ABDF方法的重載 練習(xí) 答案:ABDF方法的重載 練習(xí) Person.java在上一個Person類的基礎(chǔ)上,完成以下功能:聲明一個有參的構(gòu)造方法,使得通過調(diào)用該構(gòu)造方法可以對Person類的三個成員變量進行初始化再聲明一個無參的構(gòu)造方法,實現(xiàn)構(gòu)造方法的重載方法的重載 練習(xí) Person.java方法的重載 練習(xí) MethodAdd.java在類MethodAdd中,聲明三個方法add,分別計算兩個整數(shù)的和三個整數(shù)的和

20、、兩個雙精度浮點數(shù)(double)數(shù)的和,并在該類寫一個主程序中調(diào)用這個三個函數(shù), 并將其結(jié)果打印方法的重載 練習(xí) MethodAdd.javaContents類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型3Java中的關(guān)鍵字4Contents類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型對象創(chuàng)建的內(nèi)存模型引用類型變量除了8種基本數(shù)據(jù)類型的變量,其他變量都是引用類型變量類(class) 接口(interface) 數(shù)組Person p ;Animal a ;int c ;對象創(chuàng)建的內(nèi)存模型引用類型變量Person p ;Anim對象創(chuàng)建的內(nèi)存模型0 x80001.7444“l(fā)isi”Person

21、p0 x8000nameageheightPerson p = new Person( “l(fā)isi”, 44, 1.74); 引用類型變量的內(nèi)存模型對象創(chuàng)建的內(nèi)存模型0 x80001.7444“l(fā)isi”Per對象創(chuàng)建的內(nèi)存模型0 x80000 x30001.7444“l(fā)isi”Person p0 x3000nameageheight1.7333“zhang”nameageheightPerson q0 x8000引用類型變量的內(nèi)存模型Person p = new Person( “zhang”, 33,1.73);Person q = new Person( “l(fā)isi”, 44, 1.74

22、);對象創(chuàng)建的內(nèi)存模型0 x80000 x30001.7444“變量的作用域變量的作用域全局變量類體中聲明的成員變量為全局變量全局變量在類的整個生命周期中都有效局部變量方法體中聲明的變量,方法中的參數(shù),或代碼塊中聲明的變量,都是局部變量局部變量只在方法調(diào)用的過程中有效,方法調(diào)用結(jié)束后失效變量的作用域變量的作用域變量的作用域變量的作用域class Employee String name; int age; double salary; public String showName() String hello = “你好”; System.out.println(hello+name); re

23、turn name; public void updateName(String name2) name = name2; 全局變量局部變量變量的作用域變量的作用域class Employee 全局變量的作用域變量初始化的順序隱式賦予變量默認值成員變量顯式賦予初始值通過構(gòu)造方法體賦予新值 示例 PersianCat.java各類型變量默認初始化值類型缺省值類型缺省值byte(byte)0charu0000 short(short)0float0.0Fint0double0.0Dlong0L引用對象nullbooleanfalse變量的作用域變量初始化的順序各類型變量默認初始化值類型缺省值變量的

24、作用域 練習(xí) 給定下列代碼的執(zhí)行結(jié)果是_? public class X ( private static int a; public static void main(String args) modify(a); System.out.println(a); public static void modify(int a) a+; A. 0 B. 1 C. 編譯錯誤 D. 運行時異常答案:A變量的作用域 練習(xí) 答案:A程序執(zhí)行過程 硬盤 程序 .java 編譯 .class 文件內(nèi)存 執(zhí)行過程中的內(nèi)存管理代碼JVM系統(tǒng)代碼 裝載到內(nèi)存區(qū)stackheapdata segmentcodese

25、gment 找到main方法開始執(zhí)行基本數(shù)據(jù)類型變量引用類型變量地址引用變量靜態(tài)變量常量存放代碼Java代碼在系統(tǒng)中的執(zhí)行過程程序執(zhí)行過程 補充:參數(shù)傳值當方法被調(diào)用時,如果方法有參數(shù),參數(shù)必須要實例化,即參數(shù)變量必須有具體的值。public class Date /類聲明 int year,month,day; /成員變量,表示年、月、日 void setDate(int y,int m,int d) /成員方法,設(shè)置日期值 /無返回值,有4個參數(shù) year = y; month = m; day = d; public static void main(String args) Date1

26、 aday = new Date1() ; /創(chuàng)建對象 aday.setDate(2013,9,28); /調(diào)用類方法 補充:參數(shù)傳值當方法被調(diào)用時,如果方法有參數(shù),參數(shù)必須要實例1基本數(shù)據(jù)類型參數(shù)的傳值值這種數(shù)據(jù)傳遞方式被稱為是值傳遞,方法接收參數(shù)的值,但不能改變這些參數(shù)的值。2引用類型參數(shù)的傳值地址引用傳值方式:Java的引用類型數(shù)據(jù)包括對象、數(shù)組和接口,當方法中參數(shù)是引用類型時,引用數(shù)據(jù)類型傳遞給方法的是數(shù)據(jù)在內(nèi)存中的地址,方法中對參數(shù)變量的操作可以改變原變量的值。 1基本數(shù)據(jù)類型參數(shù)的傳值值這種數(shù)據(jù)傳遞方式被稱為是值傳class People String face;void setF

27、ace(String s) face = s;class C void f(int x, double y, People p) x = x + 1;y = y + 1;p.setFace(笑臉);System.out.println(參數(shù)x和y的值分別是: + x + , + y);System.out.println(參數(shù)對象p的face是: + p.face);public class Ep4_8 public static void main(String args) int m = 100;double n = 100.88;People zhang = new People();z

28、hang.setFace(很嚴肅的樣子);C a = new C();a.f(m, n, zhang);System.out.println(main方法中m和n的值仍然分別是: + m + , + n);System.out.println(main方法中對象zhang的face是: + zhang.face);zhang.face= 很嚴肅的樣子;改變形參值 導(dǎo)致實參值的改變zhang.face= “笑臉;參數(shù)x和y的值分別是:101,101.88參數(shù)對象p的face是:笑臉main方法中m和n的值仍然分別是:100,100.88main方法中對象zhang的face是:笑臉class P

29、eople zhang.face= 很嚴肅補充內(nèi)容對象數(shù)組在Java中不但可以聲明由原始數(shù)據(jù)組成的數(shù)組,還可以聲明由對象組成的數(shù)組;聲明對象數(shù)組的方式如:/假設(shè)已經(jīng)定義了一個Student類/*聲明由5個Student對象組成的數(shù)組*/Student stdAry = new Student5;補充內(nèi)容對象數(shù)組在Java中不但可以聲明由原始數(shù)據(jù)組成的對象數(shù)組=引用數(shù)組錯誤的理解方式學(xué)生對象的實例學(xué)生對象的實例學(xué)生對象的實例學(xué)生對象的實例學(xué)生對象的實例01244堆棧stdAry堆棧stdAry正確的理解方式對象的引用01244對象的引用對象的引用對象的引用對象的引用對象數(shù)組=引用數(shù)組錯誤的理解方

30、式學(xué)生對象的實例學(xué)生對象的實對象數(shù)組示例/*對象數(shù)組示例,假設(shè)已經(jīng)定義了Student類*/public static void main(String args) /*創(chuàng)建包含有5個Student引用的數(shù)組*/ Student stdAry = new Student5; /*逐一為每個引用創(chuàng)建對象實例*/ stdAry0 = new Student(張三, 18); stdAry1 = new Student(李四, 20); stdAry2 = new Student(王五, 24); stdAry4 = new Student(鄭六, 21); stdAry4 = new Studen

31、t(田七, 19); for (int i = 0; i stdAry.length; i+) stdAryi.display(); 對象數(shù)組示例/*對象數(shù)組示例,假設(shè)已經(jīng)定義了Student類對象數(shù)組的存放形式堆棧stdAry0124stdAry0stdAry1stdAry2stdAry4stdAry44張三18李四20王五24鄭六21田七19對象數(shù)組的存放形式堆棧stdAry0124stdAry0垃圾回收機制垃圾回收器(GC, Garbage Collection)Java的一個重要特點句是具有一個垃圾回收器,并且能夠自動回收垃圾,這也是Java相對于其他語言有優(yōu)勢的地方對內(nèi)存的釋放和回收

32、的工作是由Java運行系統(tǒng)(JRE)承擔(dān)的,不用編程者關(guān)注在Java程序運行過程中,一個垃圾回收器會不定時地被喚起檢查是否有不再被使用的對象,并釋放它們所占用的內(nèi)存空間垃圾回收器的啟用不由程序員控制,也無規(guī)律可循垃圾回收機制垃圾回收器(GC, Garbage Collec垃圾回收機制垃圾回收機制 System.gc( )、nullJava里提供了一個System.gc( )方法,使用這個方法可以建議垃圾回收器回收垃圾在Java中,可以通過將對象的引用變量設(shè)置為null,來暗示垃圾回收器來回收該對象class Employee String name; int age; double salar

33、y;public static void main(String args) Employee e = new Employee(); new Employee(); e = null; System.gc(); System.out.println(“The program is end”); 垃圾回收機制垃圾回收機制 System.gc( )、nu垃圾回收機制后臺線程主線程Object o2 = new Object( );o2 = null;Object o1 = new Object( );o1 objectThe heap檢查出對象沒有引用指向調(diào)用o2對象的finalize()方法垃

34、圾回收機制回收分配給該對象的內(nèi)存垃圾回收采用Java多線程機制o2 object 垃圾回收機制垃圾回收機制后臺線程主線程Object o2 = new O垃圾回收機制 練習(xí) 什么時候程序會銷毀一個對象x_? A. x.delete() B. x.finalize() C. System.gc() D. 設(shè)置對象的引用為null F. 只有垃圾回收器才可以銷毀一個對象答案:F垃圾回收機制 練習(xí) 答案:FContents類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型3Java中的關(guān)鍵字4Contents類和對象的關(guān)系1構(gòu)造方法2對象創(chuàng)建的內(nèi)存模型Java中的關(guān)鍵字this關(guān)鍵字代表對象自身的引用一個引用指向調(diào)用該方法的當前對象通常在類的方法定義中使用用this關(guān)鍵字的情況方法中的變量與成員變量重名在一個構(gòu)造方法中,調(diào)用其它重載的構(gòu)造方法返回當前對象的引用 Java中的關(guān)鍵字this關(guān)鍵字成員變量和局部變量public class Employee int sideA, sideB, sideC;void setSide(int sideA, int sideB, int sideC) this.sideA = sideA;this.sideB = sideB;this.sideC = sideC;注:如果局部變量的名字與成員變量的名字相同,則成員變量

溫馨提示

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

評論

0/150

提交評論