版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、信息工程學院本科課程信息工程學院本科課程整理課件第4章 類與對象主講:趙建邦辦公室:信息學院202E-mail:信息工程學院本科課程信息工程學院本科課程整理課件2本章主要內(nèi)容n類類n對象n參數(shù)傳值n對象組合nstatic關鍵字nthis關鍵字n包nimport關鍵字n類包裝 jar文件n難點:n參數(shù)傳值,對象組合n包和import語句信息工程學院本科課程信息工程學院本科課程整理課件34.1 編程語言的發(fā)展n面向機器語言n包括機器語言、匯編語言n代碼量龐大,對不同機器編寫不同指令n優(yōu)點:可執(zhí)行文件小,執(zhí)行速度快n面向過程語言n按照流程化的思想來組織,不符合人的思維習慣,重用率低,維護困難,用函數(shù)
2、調(diào)用實現(xiàn)代碼重用,信息完全暴露,很難實現(xiàn)大型程序信息工程學院本科課程信息工程學院本科課程整理課件44.1 編程語言的發(fā)展n面向對象語言n按照類和對象的思想來組織:將數(shù)據(jù)以及數(shù)據(jù)的操作封裝在一個單獨的數(shù)據(jù)結構中n抽象:強調(diào)實體本質、內(nèi)在的屬性n封裝性:封裝性是保證軟件部件具有優(yōu)良的模塊性的基礎,將說明與實現(xiàn)分開n繼承性:不同級別上促進了共享n多態(tài)性:同一操作作用于不同的類的實例,將產(chǎn)生不同的執(zhí)行結果信息工程學院本科課程信息工程學院本科課程整理課件54.1 編程語言的發(fā)展 (作者) (圖靈獎)n1957 Fortran John Bacus 1997n1967 Simula D.J Dahl 20
3、01 K. Nygaard n1968 Pascal Niklaus wirth 1984n1972 C Ken Thompson 1983 D.M Ritchie n19801995 C+ Bjarne Stroustrupn1971 Smalltalk Alan Kay 2003n1995 Java James Gosling信息工程學院本科課程信息工程學院本科課程整理課件64.2 類n“萬物皆為對象”Alan Kayn現(xiàn)實世界中的任一客觀實體:n有一個名字(ID)用來標識n有一組屬性來描述其特征n有一組方法來實現(xiàn)其功能n類是對具有相似屬性對象的抽象n類是實例化對象的模板n對象是類的實例信
4、息工程學院本科課程信息工程學院本科課程整理課件74.2.1 類的聲明n類的實現(xiàn)包括:類聲明和類體n類實現(xiàn)的格式:class 類名 類體的內(nèi)容n注意類名的命名約定:n拉丁字母的首字母使用大寫: Hello、Timen復合詞中的每個單詞首字母大寫:HelloWorld和之間的內(nèi)容稱作類體信息工程學院本科課程信息工程學院本科課程整理課件84.2.2 類體n類體包括兩部分:n變量的聲明,用來刻畫屬性n方法的定義,用來刻畫功能信息工程學院本科課程信息工程學院本科課程整理課件94.2.3 成員變量和局部變量n不同變量的定義:n成員變量:變量聲明部分所聲明的變量n局部變量:方法體中聲明的變量和方法 體的參數(shù)
5、n變量的類型:n基本類型(整數(shù)、浮點、字符、邏輯)n引用類型(數(shù)組、對象、接口)信息工程學院本科課程信息工程學院本科課程整理課件104.2.3 成員變量和局部變量n變量的有效范圍n成員變量在整個類內(nèi)部有效,并且有效性與它在類體中書寫的先后位置無關n方法的參數(shù)在整個方法內(nèi)部有效n方法內(nèi)的局部變量從聲明它的位置之后開始有效,并且僅限于聲明它的復合語句或者循環(huán)體n例P57中,class A 、class 梯形注意:for循環(huán)中變量的有效性與C語言不同信息工程學院本科課程信息工程學院本科課程整理課件114.2.3 成員變量和局部變量n成員變量再細分:n實例變量、類變量n類變量:成員變量聲明時,用sta
6、tic關鍵 字給予修飾,也稱靜態(tài)變量信息工程學院本科課程信息工程學院本科課程整理課件124.2.3 成員變量和局部變量n成員變量的隱藏n如果局部變量的名字與成員變量的名字相同,則成員變量被隱藏,即這個成員變量在這個方法內(nèi)暫時失效。P58 class 三角形信息工程學院本科課程信息工程學院本科課程整理課件134.2.4 方法n類似于類的實現(xiàn)結構,方法的實現(xiàn)也包括兩部分:方法聲明和方法體方法聲明部分 方法體的內(nèi)容n方法起名習慣和類名不同,首個字母約定使用小寫信息工程學院本科課程信息工程學院本科課程整理課件144.2.4 方法n方法的聲明格式:n返回值類型 方法名(參數(shù)1,參數(shù)2,)n當一個方法不需
7、要返回值時,返回類型為voidn方法體信息工程學院本科課程信息工程學院本科課程整理課件154.2.5 方法重載n一個類中可以有多個方法具有相同的名字,但這些方法的參數(shù)必須不同:n參數(shù)的個數(shù)不同n參數(shù)的類型不同n注意:方法的返回類型不參與比較: 如果兩個方法名字相同,即使類型 不同,也必須保證參數(shù)不同信息工程學院本科課程信息工程學院本科課程整理課件164.2.6 構造方法n構造方法是一種特殊方法,名字必須與類名相同,沒有返回值類型n構造方法可以重載信息工程學院本科課程信息工程學院本科課程整理課件174.2.7 類方法和實例方法n方法聲明時,方法類型前面不加關鍵字static修飾的是實例方法、加s
8、tatic修飾的是類方法(靜態(tài)方法)信息工程學院本科課程信息工程學院本科課程整理課件184.2.8 幾個值得注意的問題n對成員變量的操作只能放在方法中,方法可以對成員變量的操作只能放在方法中,方法可以對成員變量和該方法體中聲明的局部變量進行對成員變量和該方法體中聲明的局部變量進行操作操作n需要注意的是:實例方法既能對類變量操作也需要注意的是:實例方法既能對類變量操作也能對實例變量操作,而類方法只能對類變量進能對實例變量操作,而類方法只能對類變量進行操作行操作n一個類中的方法可以互相調(diào)用,實例方法可以一個類中的方法可以互相調(diào)用,實例方法可以調(diào)用該類中的其它方法;類中的類方法只能調(diào)調(diào)用該類中的其它
9、方法;類中的類方法只能調(diào)用該類的類方法,不能調(diào)用實例方法用該類的類方法,不能調(diào)用實例方法 參照本節(jié)的例子理解以上內(nèi)容參照本節(jié)的例子理解以上內(nèi)容信息工程學院本科課程信息工程學院本科課程整理課件194.3 對象n類是創(chuàng)建對象的模板,對象是類創(chuàng)建的實例n如何創(chuàng)建對象?n創(chuàng)建對象分為聲明對象和為對象分配內(nèi)存兩部分n聲明格式: “類名 對象名;”n例如:People zhangPing;n使用new關鍵字分配內(nèi)存:nzhangPing = new People();nPeople zhangPing = new People(); /實際包括了聲明和分配內(nèi)存兩部分信息工程學院本科課程信息工程學院本科課程
10、整理課件204.3.1 創(chuàng)建對象n對象的內(nèi)存模型n聲明后的對象變量是一個空對象,不能使用n分配內(nèi)存后,即使用new語句以后,對象的成員變量被分配內(nèi)存空間,并對成員變量進行初始化;并且,將返回一個引用給對象變量n創(chuàng)建多個不同對象的時候,這些對象具有不同的引用和內(nèi)存空間信息工程學院本科課程信息工程學院本科課程整理課件214.3.2 使用對象n通過運算符“.”來實現(xiàn)對類中變量的訪問和方法的調(diào)用n體現(xiàn)封裝n類體內(nèi)如何操作成員變量,在類體內(nèi)是看不到的,類體外看到的只是方法的接口n但是,方法所用到的局部變量,包括參數(shù)和方法體內(nèi)的變量,在使用之前需要賦值n例:4.3信息工程學院本科課程信息工程學院本科課程整
11、理課件224.3.3 對象的引用和實體n聲明一個對象之后,在棧中為其分配引用;Java的對象在堆(heap)中分配內(nèi)存,這些內(nèi)存空間稱為對象的實體n通過引用,可以調(diào)用對象的屬性和方法n一個類創(chuàng)建的兩個對象,如果具有相同的引用,那么就具有完全相同的實體n沒有實體的對象稱作空對象,編譯器對空對象不作檢查,但是它不能被使用信息工程學院本科課程信息工程學院本科課程整理課件234.4 參數(shù)傳值nJava中,方法的所有參數(shù)都是“傳值”,即方法中參數(shù)變量的值是調(diào)用者指定值的一個拷貝 DataType a;/a已經(jīng)被賦值 void function(DataType c) n基本類型參數(shù)的傳值n引用類型參數(shù)的
12、傳值信息工程學院本科課程信息工程學院本科課程整理課件244.4.1 基本類型參數(shù)的傳值n原則:基本數(shù)據(jù)類型的參數(shù),向該參數(shù)傳遞的值的級原則:基本數(shù)據(jù)類型的參數(shù),向該參數(shù)傳遞的值的級別不可以高于該參數(shù)的級別別不可以高于該參數(shù)的級別 n只要值在Main函數(shù)中沒變, a的值不管怎么傳都不回變,這是因為a是傳值,而這個值是a的一個拷貝,a的值在傳遞后的改變只是改變了a的拷貝的內(nèi)容,并沒有改變真正的a的值int a=3的拷貝!返回信息工程學院本科課程信息工程學院本科課程整理課件254.4.2 引用類型參數(shù)的傳值n當參數(shù)是引用類型時,當參數(shù)是引用類型時,“傳值傳值”傳遞的傳遞的是變量中存放的是變量中存放的
13、“引用引用”,而不是變量,而不是變量所引用的實體所引用的實體n例4.5信息工程學院本科課程信息工程學院本科課程整理課件264.4.3 可變參數(shù)n在聲明方法時不給出參數(shù)列表中某項直至最后一項參數(shù)的名字和個數(shù),但這些參數(shù)的類型必須一致。使用“”表示若干個參數(shù),它們的類型必須相同npublic void f(int x )npublic void f(double d, int x);n用法類似于數(shù)組與for的新增功能,回憶章節(jié)3.7信息工程學院本科課程信息工程學院本科課程整理課件274.4.4 有理數(shù)的類封裝n面向對象的編程,核心思想之一是將數(shù)據(jù)和對數(shù)據(jù)的操作封裝在一起,從而形成包裝類,通過類創(chuàng)建
14、具體的對象,對象調(diào)用方法,實現(xiàn)更簡潔的計算效果n本節(jié)對有理數(shù)(Rational)進行封裝,是面向對象程序設計的一個簡單應用信息工程學院本科課程信息工程學院本科課程整理課件284.5 對象的組合n一個類的成員變量可以是Java允許的任何數(shù)據(jù)類型,即一個類的成員變量可以是其它類的對象,甚至可以是該類的自身對象n一個類的成員變量可以由若干個類組成,或者說該類的對象可以使若干對象的組合n例 4.7信息工程學院本科課程信息工程學院本科課程整理課件29舉例:對象的組合信息工程學院本科課程信息工程學院本科課程整理課件304.6 static關鍵字n成員變量分為:類變量和實例變量n用static修飾的變量為類
15、變量n不用static修飾的變量為實例變量n方法分為:類方法和實例方法n用static修飾的方法為類方法n不用static修飾的方法為實例方法n調(diào)用原則:n實例方法可以調(diào)用所有方法n類方法只能調(diào)用類方法信息工程學院本科課程信息工程學院本科課程整理課件314.6.1 實例變量和類變量n區(qū)別1:n一個類可以創(chuàng)建多個不同的對象,每個對象的實例變量將被分配不同的內(nèi)存空間;如果一個類中定義了類變量,那么,所有的類變量僅分配相同的類變量,一個對象改變了類變量,則徹底改變n也就是說,對象共享類變量n區(qū)別2:n類變量在沒有創(chuàng)建對象的情況下已經(jīng)加載到內(nèi)存,直到程序退出才釋放所占用的內(nèi)存n類變量不僅可以通過對象訪
16、問,也可以通過類名訪問信息工程學院本科課程信息工程學院本科課程整理課件324.6.2 實例方法和類方法n區(qū)別1:n對象創(chuàng)建后才分配實例方法入口n對象創(chuàng)建前已經(jīng)分配類方法入口n區(qū)別2:n所有對象都不存在時,實例方法的入口地址撤銷n程序退出時,類方法的入口地址才被取消nstatic方法僅能調(diào)用其它的static方法、僅能訪問static數(shù)據(jù),不能以任何形式引用this、super信息工程學院本科課程信息工程學院本科課程整理課件33難點1:成員變量被隱藏nP58,對于類體中的方 法,如果局部變量名字 和成員變量名字相同, 則成員變量被隱藏n想仍然在這種情況下 使用成員變量,需要thisnP58中的兩
17、個例子, 以及習題4.8信息工程學院本科課程信息工程學院本科課程整理課件34難點2:成員變量初始化n聲明類的成員變量 時可以同時賦予初值nP62,class A,注意不 能用單獨的賦值語句n通過構造方法初始化n生成對象時已完成n構造方法可以重載n通過其它方法初始化n必須通過對象調(diào)用方法信息工程學院本科課程信息工程學院本科課程整理課件35難點3:參數(shù)傳值n發(fā)生在main()方法或者其它方法調(diào)用有參數(shù)的方法的時候n基本類型“傳值”:方法中參數(shù)變量的值是調(diào)用者指定值的一個拷貝,方法可以改變參數(shù)的值,但是不能改變使用的變量的值n引用類型“傳值”:傳遞的是變量中存放的“引用”nP72-73信息工程學院本
18、科課程信息工程學院本科課程整理課件364.7 this關鍵字nthis關鍵字在Java中表示某個對象nthis可以出現(xiàn)在實例方法和構造方法中,不能出現(xiàn)在類方法中:因為類方法被調(diào)用時允許對象沒有被生成n在構造方法中使用this :例4.10n在實例方法中使用this,代表正在調(diào)用該方法的當前對象n實例方法可以操作成員變量:n實例成員變量默認格式:this.成員變量n類成員變量默認格式:類名.成員變量n通常情況下可以省略上面的“this.”和“類名.”,在省略的過程中需要注意:成員變量可能被隱藏信息工程學院本科課程信息工程學院本科課程整理課件374.8 包n包的作用:解決命名沖突,有效管理項目中的
19、類和接口n包語句:n必須做為源文件中的第一句程序代碼n一個源文件最多只能有一條包語句n如果在代碼中沒有書寫package語句,則該類將被加入到默認包(無名包)中,默認包無法被其它的包引用信息工程學院本科課程信息工程學院本科課程整理課件384.8.1 包語句n通過關鍵字package聲明包語句npackage 包名;n如果源文件中省略了包語句,源文件中所定義的類被默認為無名包的類n包名可以是一個合法的標示符,也可以是由若干個標示符通過“.”拼接而來npackage sunrise;npackage ;nJava不允許使用java作為包名的第一部分信息工程學院本科課程信息工程學院本科課程整理課件3
20、94.8.2 有包名的類的存儲n原則上來講,源文件可以存放在任何文件夾里n有包名的字節(jié)碼文件只能存放在包名對應的文件夾里,否則無法運行npackage tom.jiafei;n.class文件只能存放在“tomjiafei”目錄下信息工程學院本科課程信息工程學院本科課程整理課件404.8.2 有包名的類的編譯與運行n1、將例4.11的兩個文件保存在“tomjiafei”目錄下,在當前目錄編譯,字節(jié)碼文件自動生成在當前文件夾信息工程學院本科課程信息工程學院本科課程整理課件414.8.2 有包名的類的編譯與運行n2、在任意目錄下編譯源文件,然后將字節(jié)碼文件拷貝入“tomjiafei”目錄下,運行命
21、令同上頁相同信息工程學院本科課程信息工程學院本科課程整理課件424.8.2 有包名的類的編譯與運行n3、在任意目錄下編譯源文件,命令為: “javac d 包的父目錄 源文件全路徑”信息工程學院本科課程信息工程學院本科課程整理課件434.8.3 規(guī)范自己的編程習慣信息工程學院本科課程信息工程學院本科課程整理課件444.9 import語句n一個類可能需要另一個類聲明的對象作為自己的成員或方法中的局部變量,如果這兩個類在同一個包中,當然沒有問題。 n如果一個類想要使用的那個類和它不在一個包中,要使用import語句完成使命。n一個Java源文件可以有多個import語句,必須寫在package語
22、句和類的定義之間信息工程學院本科課程信息工程學院本科課程整理課件454.9 import語句n引入自定義包中的類n1、更新classpath,將包名所對應目錄的父目錄添加到classpath變量中n2、“.;”表示可以加載應用程序當前目錄中的無名包類,而且當前子目錄下的子孫目錄都可以作為包的名字來使用n使用無包名的類n想使用無包名的類,只要將這個無包名的類的字節(jié)碼和當前類保存在同一目錄即可信息工程學院本科課程信息工程學院本科課程整理課件464.9 import語句n避免類名混淆(解決方法:不要省略包名)n區(qū)分無包名和有包名的類: 假如一個源文件使用了無包名的A類和一個有包名的A類n使用“imp
23、ort 包名.A;” : 生成“A”的對象時,如果省略包名,”A a=new A();” 則生成的a是A的對象n使用“import 包名.*;” : 生成“A”的對象時,如果省略包名,”A a=new A();” 則生成的a是A的對象n如果一個源文件引入兩個包中同名的類,不允許省略包名: 包1.A a1=new 包1.A(); 包2.A a2=new 包2.A();信息工程學院本科課程信息工程學院本科課程整理課件474.10 訪問權限n類創(chuàng)建的對象通過“.”訪問變量、調(diào)用方法,但對象操作自己的變量和使用類中的方法是有一定限制的。n訪問限制修飾符(關鍵字)有private、protected和p
24、ublic信息工程學院本科課程信息工程學院本科課程整理課件484.10.1 私有變量和私有方法n用private修飾的成員變量和方法稱為私有變量和私有方法n只有在本類中創(chuàng)建該類的對象時,這個對象才能訪問私有成員和私有方法n例4.16n良好的編程習慣:n對于類中的所有變量,適當設計改變或者讀取它們的方法,盡量不要在類外用“.變量”方式信息工程學院本科課程信息工程學院本科課程整理課件494.10.2 共有變量和共有方法n用public修飾的成員變量和方法稱為共有變量和共有方法n類所創(chuàng)建的對象在其它類中均可以訪問該對象的public變量和public方法n對于public類變量和public類方法,
25、如果該類在其它類中創(chuàng)建了對象,也可以通過類名來訪問這些類變量和類方法信息工程學院本科課程信息工程學院本科課程整理課件504.10.3 友好變量和友好方法n不用任何訪問限制修飾符的成員變量和方法,稱為友好變量和友好方法n當在其它類(例B)中創(chuàng)建了一個類(例A)的對象后,如果A和B在同一個包中,那么A的對象能訪問自己的友好對象和友好方法,否則不能訪問信息工程學院本科課程信息工程學院本科課程整理課件514.10.4 受保護的成員變量和方法n用protected修飾的成員變量和方法稱為受保護的成員變量和方法n當在其它類(例B)中創(chuàng)建了一個類(例A)的對象后,如果A和B在同一個包中,那么A的對象能訪問自
26、己的友好對象和友好方法,否則不能訪問n以后會涉及“受保護”和“友好”之間的區(qū)別信息工程學院本科課程信息工程學院本科課程整理課件524.10小結:訪問權限訪問權限訪問權限同類同類同包同包不同包不同包Private可以不可以不可以友好的友好的可以可以不可以Protected可以可以不可以Public可以可以可以信息工程學院本科課程信息工程學院本科課程整理課件534.10.5 public類與友好類n在類聲明時,用public修飾的類為public類,public類可以在任何一個其它的類中創(chuàng)建對象n如果一個類不加public修飾,則稱為友好類,使用友好類之前,必須保證它們在同一個包中n不能用prot
27、ected和private修飾類信息工程學院本科課程信息工程學院本科課程整理課件54淺談main()方法npublic static void main(String args)nmain()方法由JVM直接調(diào)用,所以用publicn所在的類不需要產(chǎn)生任何對象,所以用staticn不需要返回值,所以用voidn為什么main? -這是規(guī)定n有一個String類型的參數(shù),是字符串數(shù)組,該字符串的名稱“args”可以改變,但為了和Sun Java規(guī)范范例保持一致,不建議修改,作用是接受命令行的輸入,用空格隔開nStatic代碼塊的內(nèi)容會在main()之前調(diào)用信息工程學院本科課程信息工程學院本科課程
28、整理課件55淺談main()方法信息工程學院本科課程信息工程學院本科課程整理課件564.11 基本類型的類包裝nDouble類和Float類n構造方法:Double(double num); Float(float num);n返回double和float基本類型數(shù)據(jù): doubleValue()方法 floatValue()方法信息工程學院本科課程信息工程學院本科課程整理課件574.11 基本類型的類包裝nByte、Short、Integer和Long類n構造方法:Byte(byte num); Short(short num); Integer(int num); Long(long nu
29、m);n返回基本類型數(shù)據(jù): byteValue()方法 shortValue()方法 intValue()方法 longValue()方法信息工程學院本科課程信息工程學院本科課程整理課件584.11 基本類型的類包裝nCharacter類nCharacter類實現(xiàn)了對char基本類型的包裝n構造方法:Character(char c);n返回基本數(shù)據(jù)的方法:charValue();n其它方法:nboolean isDigit(char ch):判斷ch是否數(shù)字字符nboolean isLetter(char ch):判斷ch是否字母字符nboolean isLetterOrDigit(char ch):判斷ch是否數(shù)字或字母nboolean isLowerCase(char ch):判斷ch是否小寫字母nBoolean isUpperCase(char ch):判斷ch是否大寫字母nChar toLowerCase(char ch):返回ch的小寫形式nCh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國二手車第三方檢測行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實施研究報告
- 2025-2030年中國3C維修行業(yè)全國市場開拓戰(zhàn)略制定與實施研究報告
- 2025-2030年中國智能手表行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實施研究報告
- 2025-2030年中國汽車運動服務行業(yè)開拓第二增長曲線戰(zhàn)略制定與實施研究報告
- 養(yǎng)殖金蟬知識培訓課件
- 二零二五年度房產(chǎn)局備案的房屋租賃合同規(guī)范版6篇
- 二零二五年度房東房屋租賃合同(含電梯使用費)2篇
- 二零二五年度健康體檢中心運營管理合同標準范本3篇
- 電氣試驗知識培訓課件
- 精密機械制造中心項目可行性研究報告模板-立項拿地
- 湖北省2024年中考數(shù)學試卷【附真題答案】
- 德國高等工程教育認證制度研究
- 零缺陷質量意識
- 2024河北中考化學仿真卷52
- 借款債務股東共同承擔協(xié)議
- 門診導診課件
- 大學生職業(yè)生涯規(guī)劃小學英語教育
- 阿甘正傳書籍
- (正式版)JTT 1497-2024 公路橋梁塔柱施工平臺及通道安全技術要求
- 中國省市地圖模板可編輯模板課件
- 《中國潰瘍性結腸炎診治指南(2023年)》解讀
評論
0/150
提交評論