




已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
江蘇大學(xué)計算機學(xué)院 Version 2.0,第6章 高級類特性,Page 2,本章內(nèi)容,Static 關(guān)鍵字 創(chuàng)建 final 類、方法和變量 創(chuàng)建和使用枚舉的類型 使用靜態(tài)導(dǎo)入語句 創(chuàng)建抽象類和方法 創(chuàng)建和使用接 字符串相關(guān)類(String、StringBuffer、StringBuilder) Math類(不重要) File類 Date類、Calendar類,Page 3,static 關(guān)鍵字,在類中,用static聲明的成員變量為靜態(tài)成員變量,它為該類的公用變量,在第一次使用時被初始化,對于該類的所以對象來說,static成員變量只有一份。 public class Count private int serialNumber; public static int counter = 0; public Count() counter+; serialNumber = counter; public class TestCounter public static void main (String args) Count. counter=100; Count C1 = new Count(); Count C2 = new Count(); static變量在某些方面與其他語言的全局變量類似,Java編程語言中沒有全局變量,但是static變量是一個可以被類的任何實例訪問的變量,Page 4,static 關(guān)鍵字,用static聲明的方法為靜態(tài)方法(又稱類方法),在調(diào)用該方法時,不會將對象的引用傳遞給它,所以在static方法中不可訪問非static的成員。 靜態(tài)的方法不再是針對某個對象調(diào)用,所以不能訪問非靜態(tài)成員 class Count private int serialNumber; public static int counter = 0; public Count() counter+; serialNumber = counter; public static int getCounter() return counter; public class TestCounter public static void main (String args) System.out.println(Count.getCounter(); Count C1 = new Count(); System.out.println(Count.getCounter(); ,可以通過對象引用或類名(不需要實例化)訪問靜態(tài)成員。,Page 5,Static 屬性: public static class 屬性可沒有類的實例從類的外部進行訪問。 Static 方法: Static 方法無需創(chuàng)建類的實例即可被調(diào)用。 Static 方法不能訪問實例變量。 Static 初始化程序: 類可在 static 塊中包含在方法主體中不存在的代碼。 Static 塊代碼在類被加載時僅執(zhí)行一次。 通常,static 塊用來初始化 static(類)屬性。,static 關(guān)鍵字(續(xù)),Page 6,final 關(guān)鍵字,final 關(guān)鍵字用于安全性原因。 它用來創(chuàng)建充當(dāng)標準的類。 它實現(xiàn)了以下限制: 不能獲取 final 類的子類,即final類不能被繼承。 不能覆蓋 final 方法。 final 變量是常量。 在 final 類中的所有方法和數(shù)據(jù)成員是顯式的。 引用類型的final變量,不能引用任何其他變量,Page 7,空 final 變量,final 變量不在其聲明中被初始化;其初始化被延遲: 空 final 實例變量必須在構(gòu)建器中被賦值。 空 final 本地變量可在方法的主體內(nèi)隨時被設(shè)置。 它僅可設(shè)置一次。,Page 8,枚舉的類型,enum 類型字段由一組固定的常量組成。 可使用 enum 關(guān)鍵字來定義 enum 類型。例如,指定一周每一天的 enum 類型: public enum Day SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY enum 類型 只能取特定值的一個。 所有 enums 從 java.lang.Enum 顯示擴展。因為 Java 不支持多重繼承,enum 不能擴展為任何別的內(nèi)容。,Page 9,靜態(tài)導(dǎo)入,J2SE 5.0提供靜態(tài)導(dǎo)入功能,能夠不受限制的訪問靜態(tài)成員,而不必使用類的名字限制它們。 從類中導(dǎo)入靜態(tài)成員: import static ; 或import static *; 單個或集中導(dǎo)入成員: import static cards.domain.Suit.SPADES; 或import static cards.domain.Suit.*; 無需確定靜態(tài)常量的資格: PlayingCard card1 = new PlayingCard(SPADES, 2); 過度使用靜態(tài)導(dǎo)入功能,使程序不可讀或者無法維持,而且會破壞其命名空間和所有導(dǎo)入的靜態(tài)成員,Page 10,抽象類,用abstract關(guān)鍵字來修飾一個類時,這個類叫做抽象類; abstract class classname 成員變量; 成員方法; 用abstract來修飾一個方法時,該方法叫做抽象方法。是只聲明首部沒有方法體的成員方法 abstract returnType abstractMethod(paramlist) 含有抽象方法的類必須被聲明為抽象類,抽象類必須被繼承,抽象方法必須被重寫。如果重寫不了,應(yīng)該聲明自己為抽象。 抽象方法只需聲明,而不需實現(xiàn),而且不允許使用final修飾abstract方法 抽象類不能被實例化。但是它們可以被子類化。,Page 11,抽象類,抽象類定義其他類的通用屬性和行為。 它用作基類來獲取相同類型的特定類。例如: abstract class Animal private String name; Animal(String name) = name; public abstract void enjoy(); Abstact class Cat extends Animal private String eyesColor; Cat(String n,String c) super(n); eyesColor = c; public Abstact void enjoy() ; 上述抽象方法 enjoy 由 Animal 類的子類來繼承。子類 Cat、Dog和 Monkey 以不同的方式實現(xiàn)此方法。 enjoy方法在Cat類中已被覆蓋,class Dog extends Animal private String furColor; Dog(String n,String c) super(n); furColor = c; public void enjoy() System.out.println(“狗叫聲“); class Monkey extends Animal private String head; Monkey(String n,String c) super(n);head = c; public void enjoy() System.out.println(“猴叫聲“); ,abstract類不能用new運算創(chuàng)建對象 對于abstract類,我們不能使用new運算符創(chuàng)建該類的對象,需產(chǎn)生其子類,由子類創(chuàng)建對象,如果一個類是abstract類的子類,它必須具體實現(xiàn)父類的abstract方法,這就是為什么不允許使用final修飾abstract方法的原因。 一個abstract類只關(guān)心它的子類是否具有某種功能,并不關(guān)心功能的具體行為,功能的具體行為由子類負責(zé)實現(xiàn),抽象類中的抽象方法可以強制子類必須給出這些方法的具體實現(xiàn)。,抽象類,Page 13,接 口,接口(interface)是抽象方法和常量值的定義的集合。 公共接口是在客戶端代碼和實現(xiàn)該接口的類之間的一種約定。 從本質(zhì)上講,接口是一種特殊的抽象類,這種抽象類中只包含常量和方法的定義,而沒有變量和方法的實現(xiàn)。 抽象類僅用于在類之間有一種關(guān)系的情況。 接口定義舉例:,public interface Runner public static final int id = 1; public void start(); public void run(); public void stop(); ,Page 14,接口特性,接口可以多重實現(xiàn); 接口中聲明的屬性默認為 public static final 的;也只能是 public static final 的; 接口中只能定義抽象方法,而且這些方法默認為public的、也只能是public的; 接口可以繼承其它的接口,并添加新的屬性和抽象方法。,Page 15,接 口,多個無關(guān)的類可以實現(xiàn)同一個接口。 一個類可以實現(xiàn)多個無關(guān)的接口。 與繼承關(guān)系類似,接口與實現(xiàn)類之間存在多態(tài)性。 定義Java類的語法格式: class extends implements ,* * ,Page 16,接 口 舉 例,interface Singer public void sing(); public void sleep(); class Student implements Singer private String name; Student(String name) = name; public void study() System.out.println(“studying“); public String getName()return name; public void sing() System.out.println(“student is singing“); public void sleep() System.out.println(“student is sleeping“); ,Page 17,接 口 舉 例,interface Singer public void sing(); public void sleep(); interface Painter public void paint(); public void eat(); class Student implements Singer private String name; Student(String name) = name; public void study()System.out.println(“studying“); public String getName()return name; public void sing() System.out.println (“student is singing“); public void sleep() System.out.println (“student is sleeping“); ,Page 18,接 口 舉 例,class Teacher extends Object implements Singer,Painter private String name; public String getString() return name; Teacher(String name) = name; public void teach()System.out.println(“teaching“); public void sing()System.out.println (“teacher is singing“); public void sleep()System.out.println (“teacher is sleeping“); public void paint()System.out.println (“teacher is painting“); public void eat()System.out.println (“teacher is eating“); ,Page 19,接 口 舉 例,public class Test public static void main(String args) Singer s1 = new Student(“l(fā)e“); s1.sing(); s1.sleep(); Singer s2 = new Teacher(“steven“); s2.sing(); s2.sleep(); Painter p1 = (Painter)s2;/也可以當(dāng)作Painter來看 p1.paint(); p1.eat(); ,輸出結(jié)果:,student is singing student is sleeping teacher is singing teacher is sleeping teacher is painting teacher is eating,testI/Test.java,接口回調(diào),接口回調(diào)是指:可以把實現(xiàn)某一接口的類創(chuàng)建的對象的引用賦給該接口聲明的接口變量中。那么該接口變量就可以調(diào)用被類實現(xiàn)的接口中的方法。實際上,當(dāng)接口變量調(diào)用被類實現(xiàn)的接口中的方法時,就是通知相應(yīng)的對象調(diào)用接口的方法 . Interface ShowMassage void showInfo(String s); class TV implements ShowMassage public void showInfo(String s) System.out.println(s); Public class Test public static void main (String args) ShowMassage m; /聲明接口 m=new TV(); /接口變量中存放對象的引用 m. showInfo(“長虹電視機”); /接口回調(diào) ,Page 21,接口的使用: 聲明期望實現(xiàn)一個或更多的類的方法 確定對象的編程接口而無需顯示類的實際主體 捕捉非相關(guān)類之間的相似性而無需強制類的關(guān)系 通過聲明實現(xiàn)幾個接口的類來模擬多重繼承,接口,Page 22,接口用法總結(jié),通過接口可以實現(xiàn)不相關(guān)類的相同行為,而不需要考慮這些類之間的層次關(guān)系。(就像人擁有一項本領(lǐng)) 通過接口可以指明多個類需要實現(xiàn)的方法。(描述這項本領(lǐng)的共同接口) 通過接口可以了解對象的交互界面,而不需了解對象所對應(yīng)的類。 使用接口?還是抽象類? interface同時賦予了接口和抽象類的好處 如果父類可以不帶任何函數(shù)定義,或任何成員變量,那么優(yōu)先使用接口。,內(nèi)部類,Java支持在一個類中聲明另一個類,這樣的類稱作內(nèi)部類,而包含內(nèi)部類的類稱為外部類。 內(nèi)部類可以有自己的成員變量和方法 使用內(nèi)部類必須先了解內(nèi)部類與包圍它的外部類之間的關(guān)系,以及它們的成員之間如何實現(xiàn)相互訪問 內(nèi)部類的類體中不可以聲明類變量(靜態(tài)成員變量)和類方法(靜態(tài)成員方法)。外嵌類的類體中可以用內(nèi)部類聲明對象,作為外嵌類的成員。,在內(nèi)部類中訪問外部類,外部類把內(nèi)部類看做它的一個成員,內(nèi)部類的身份如同外部類的其他成員變量和成員方法一樣。內(nèi)部類如同外部類的其他成員一樣可以用public,private,protected和default修飾。 一個類內(nèi)部的內(nèi)部成員之間可以相互訪問,由于外部類把內(nèi)部類看做它的一個成員,所以內(nèi)部類也可以可以訪問外部類的所有成員變量和成員方法,包括外部類的private成員和private方法;外部類通過創(chuàng)建內(nèi)部類對象訪問內(nèi)部類的成員。 外部類的main方法或者其他類中引用內(nèi)部類必須使用內(nèi)部類完整的類標識,在外部類中訪問內(nèi)部類,定義內(nèi)部類的目的之一是為了實現(xiàn)封裝,實現(xiàn)信息的隱藏。因為內(nèi)部類的類名只能出現(xiàn)在外部類中,或者外部類方法的語句塊內(nèi)。內(nèi)部類隱藏于外部類內(nèi)。外部類的方法可以通過創(chuàng)建內(nèi)部類對象來引用內(nèi)部類成員。 public class OuterClass /外部類 class GetYear /內(nèi)部類 private int i=2008; public void showYear( )System.out.println(i); class GetInfor /內(nèi)部類 private String inf; GetInfor (String inf) this.inf = inf; public void showInfor( ) System.out.println(“Welcom to ”+inf); public void userOuter(String information) /外部類方法 GetYear y = new GetYear( ); /創(chuàng)建內(nèi)部類對象 y.showYear( ); GetInfor d = new GetInfor(information); /創(chuàng)建內(nèi)部類對象 d.showInfor( ); public static void main (String args) OuterClass u = new OuterClass(); u.useOuter(“Beijing”); ,靜態(tài)內(nèi)部類的應(yīng)用,如果一個內(nèi)部類是靜態(tài)的,那么這個類就自動成為頂級類,沒有父類 靜態(tài)內(nèi)部類的方法(不管是靜態(tài)方法還是非靜態(tài)方法)只能直接訪問外部類中靜態(tài)成員,要訪問外部類中非靜態(tài)成員則必須在內(nèi)部類創(chuàng)建外部類對象,通過對象名訪問外部靜態(tài)成員。而且非靜態(tài)內(nèi)部類不能聲明靜態(tài)成員。 由于內(nèi)部類被聲明為靜態(tài)后無法正常訪問外部類非靜態(tài)成員,這收到了很大的限制。一般情況下,當(dāng)一個內(nèi)部類不需要訪問外部類成員,或者是需要聲明靜態(tài)成員,或者是僅僅為了隱藏在外部類內(nèi)時,可以把內(nèi)部類聲明為靜態(tài)的 。 靜態(tài)內(nèi)部類的使用主要有幾個方面原因: 需要在內(nèi)部類定義靜態(tài)成員 希望隱藏內(nèi)部類 避免類名重復(fù)。在開發(fā)大型的應(yīng)用程序的時候需要設(shè)計大量的類,類存在重名的可能。為了避免這種情況,可以把可能重名的類設(shè)置為static、public的內(nèi)部類。其他類在引用的時候要是有完整的內(nèi)部類名標識(外部類名.內(nèi)部類名),這樣就可以避免重復(fù)。,靜態(tài)內(nèi)部類的應(yīng)用,public class staticInclass public static class Person private int age; private String name; static int count=0; Person(String n,int a) name=n; age=a; count+; public void dis() System.out.println(“count= “+count+“t“+name+“t“+age); public static void main (String args) staticInclass.Person p1=new staticInclass.Person(“John“,20); p1.dis(); staticInclass.Person p2=new staticInclass.Person(“Jone“,22); p2.dis(); staticInclass.Person p3=new staticInclass.Person(“Jim“,21); p3.dis(); ,靜態(tài)內(nèi)部類的特殊用處,在開發(fā)應(yīng)用程序的時候要編寫大量的類,并需要對類進行調(diào)試。根據(jù)靜態(tài)內(nèi)部類的特點,編寫一個類時,在類中可以定義一個靜態(tài)內(nèi)部類以提供一個獨立的、可選的輔助功能,如用在代碼測試和演示,這個方便而有效。 public class Outer /外部類 private int i,j; static int s=1; Outer(int a,int b)i=a;j=b; public void dis()System.out.println(i+ “ ”+j); public static class TestOuter /含有靜態(tài)main方法的靜態(tài)內(nèi)部類 public static void main (String args) /測試外部類 Outer t= new Outer(10,100); /創(chuàng)建外部類對象 t.dis();System.out.println(s) /靜態(tài)內(nèi)部類可以訪問外部類的靜態(tài)成員 為了測試外部類而定義的內(nèi)部類必須是靜態(tài)的,因為只有靜態(tài)內(nèi)部類才可以定義靜態(tài)的main方法,在該方法完成對外部類的測試,String 類,java.lang.String 類代表不可變的字符序列。 “xxxxx” 為該類的一個對象。 String類的常見構(gòu)造方法: String(String original) 創(chuàng)建一個String對象為original的拷貝。 String(char value) 用一個字符數(shù)組創(chuàng)建一個String對象 String(char value,int offset,int count) 用一個字符數(shù)組從offset項開始的count個字符序列創(chuàng)建一個String對象,String 類舉例(1),public class Test public static void main(String args) String s1 = “hello“; String s2 = “world“; String s3 = “hello“; System.out.println(s1 = s3); /true s1 = new String (“hello“); s2 = new String(“hello“); System.out.println(s1 = s2); /false System.out.println(s1.equals(s2); /true char c= s,u,n, ,j,a,v,a; String s4 = new String(c); String s5 = new String(c,4,4); System.out.println(s4); /sun java System.out.println(s5); /java ,String 類常用方法(1),public char charAt(int index) 返回字符串中第index個字符。 public int length() 返回字符串的長度。 public int indexOf(String str) 返回字符串中出現(xiàn)str的第一個位置 public int indexOf(String str,int fromIndex) 返回字符串中從fromIndex開始出現(xiàn)str的第一個位置 public boolean equalsIgnoreCase(String another) 比較字符串與another是否一樣(忽略大小寫) public String replace(char oldChar,char newChar) 在字符串中用newChar字符替換oldChar字符,String 類舉例(2),public class Test public static void main(String args) String s1 = “sun java“,s2 = “Sun Java“; System.out.println(s1.charAt(1);/u System.out.println(s2.length();/8 System.out.println(s1.indexOf(“java“);/4 System.out.println(s1.indexOf(“Java“);/-1 System.out.println(s1.equals(s2);/false System.out.println(s1.equalsIgnoreCase(s2); /true String s = “我是程序員,我在學(xué)java“; String sr = s.replace(我,你); System.out.println(sr); /你是程序員,你在學(xué)java ,String 類常用方法(2),public boolean startsWith(String prefix) 判斷字符串是否以prefix字符串開頭 public boolean endsWith(String suffix) 判斷字符串是否以prefix字符串結(jié)尾 public String toUpperCase() 返回一個字符串為該字符串的大寫形式 public String toLowerCase() 返回一個字符串為該字符串的小寫形式 public String substring(int beginIndex) 返回該字符串從beginIndex開始到結(jié)尾的子字符串 public String substring(int beginIndex,int endIndex) 返回該字符串從beginIndex開始到endIndex結(jié)尾的子字符串 public String trim() 返回將該字符串去掉開頭和結(jié)尾空格后的字符串,String 類舉例(3),public class Test public static void main(String args) String s = “Welcome to Java World!“; String s1 = “ sun java “ ; System.out.println(s.startsWith(“Welcome“); /true System.out.println(s.endsWith(“World“); /false String sL = s.toLowerCase(); String sU = s.toUpperCase(); System.out.println(sL); /welcome to java world! System.out.println(sU); /WELCOME TO JAVA WORLD! String subS = s.substring(11); System.out.println(subS);/Java World! String sp = s1.trim(); System.out.println(sp);/sun java ,String 類常用方法(3),靜態(tài)重載方法 public static String valueOf()可以將基本類型數(shù)據(jù)轉(zhuǎn)換為字符串;例如: public static String valueOf(double d) public static String valueOf(int i) b + “”; 方法 public String split(String regex)可以將一個字符串按照指定的分隔符分隔,返回分隔后的字符串?dāng)?shù)組。,String 類舉例(4),public class Test public static void main(String args) int j = 1234567; String sNumber = String.valueOf(j); /j+” System.out.println (“j 是“+sNumber.length()+“位數(shù)。“); String s = “Mary,F,1976“; String sPlit = s.split(“,“); for(int i=0;isPlit.length;i+) System.out.println(sPliti); ,StringBuffer 類,java.lang.StringBuffer 代表可變的字符序列。 StringBuffer和String類似,但StringBuffer可以對其字符串進行改變。 StringBuffer類的常見構(gòu)造方法: StringBuffer() 創(chuàng)建一個不包含字符序列的“空”的StringBuffer對象。 StringBuffer(String str) 創(chuàng)建一個StringBuffer對象,包含與String對象str相同的字符序列。,StringBuffer常用方法(1),重載方法 public StringBuffer append() 可以為該StringBuffer 對象添加字符序列,返回添加后的該StringBuffer對象引用,例如: public StringBuffer append(String str) public StringBuffer append(StringBuffer sbuf) public StringBuffer append(char str) public StringBuffer append (char str,int offset,int len) public StringBuffer append(double d) public StringBuffer append(Object obj) ,StringBuffer常用方法(2),重載方法 public StringBuffer insert()可以為該StringBuffer 對象在指定位置插入字符序列,返回修改后的該StringBuffer對象引用,例如: public StringBuffer insert (int offset,String str) public StringBuffer insert (int offset,double d) 方法 public StringBuffer delete(int start,int end) 可以刪除從start開始到end-1為止的一段字符序列,返回修改后的該StringBuffer對象引用。,StringBuffer常用方法(3),和 String 類含義類似的方法: public int indexOf(String str) public int indexOf(String str,int fromIndex) public String substring(int start) public String substring(int start,int end) public int length() 方法 public StringBuffer reverse()用于將字符序列逆序,返回修改后的該StringBuffer對象引用。,StringBuffer類舉例,public class Test public static void main(String args) String s = “Mircosoft“; char a = a,b,c; StringBuffer sb1 = new StringBuffer(s); sb1.append(/).append(“IBM“) .append(/).append(“Sun“); System.out.println(sb1); StringBuffer sb2 = new StringBuffer(“數(shù)字“); for(int i = 0;i=9;i+)sb2.append(i); System.out.println(sb2); sb2.delete(8,sb2.length().insert(0,a); System.out.println(sb2); System.out.println(sb2.reverse(); ,輸出結(jié)果:,Mircosoft/IBM/Sun 數(shù)字0123456789 abc數(shù)字012345 543210字數(shù)cba,Math類,java.lang.Math提供了一系列靜態(tài)方法用于科學(xué)計算;其方法的參數(shù)和返回值類型一般為double型。 abs 絕對值 acos,asin,atan,cos,sin,tan sqrt 平方根 pow(double a, double b) a的b次冪 log 自然對數(shù) exp e為底指數(shù) max(double a, double b) min(double a, double b) random() 返回 0.0 到 1.0 的隨機數(shù) long round(double a) double型的數(shù)據(jù)a轉(zhuǎn)換為long型(四舍五入) toDegrees(double angrad) 弧度-角度 toRadians(double angdeg) 角度-弧度,File 類,java.io.File類代表系統(tǒng)文件名(路徑或文件名)。 File類的常見構(gòu)造方法: public File(String pathname) 以pathname為路徑創(chuàng)建File對象,如果pathname是相對路徑,則默認的當(dāng)前路徑在系統(tǒng)屬性user.dir
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年文化旅游演藝項目策劃與運營模式文化體驗設(shè)計創(chuàng)新報告
- 老年教育課程設(shè)置2025:生活化教學(xué)與個性化培養(yǎng)實踐報告
- 分布式能源系統(tǒng)2025年生物質(zhì)能源應(yīng)用能效提升與優(yōu)化分析報告
- 2025年醫(yī)養(yǎng)結(jié)合養(yǎng)老機構(gòu)養(yǎng)老地產(chǎn)開發(fā)與運營策略報告
- 基于2025年視角的老舊街區(qū)改造社會穩(wěn)定風(fēng)險評估體系構(gòu)建報告001
- 2025年二手奢侈品市場鑒定標準與交易規(guī)范行業(yè)市場細分領(lǐng)域消費趨勢研究報告
- 2025年社區(qū)心理健康服務(wù)社區(qū)參與度提升策略報告
- 2025年醫(yī)藥企業(yè)研發(fā)外包(CRO)模式藥物研發(fā)疫苗研發(fā)與生產(chǎn)報告
- 2025年醫(yī)藥企業(yè)研發(fā)外包(CRO)模式的成本效益分析與優(yōu)化路徑報告
- 江蘇省連云港市海州區(qū)四校2025屆英語八年級第二學(xué)期期末考試模擬試題含答案
- 《慢性皮膚炎癥疾病》課件
- 商場出租幼兒推車合同協(xié)議
- 幼兒園班本課程:房子的故事
- 2024-2025學(xué)年三年級英語下冊期末試卷(PEP版)(含答案含聽力原文無音頻)
- 煉油化工消防安全課件
- 山東勝華國宏新材料有限公司1萬噸-年二甲基亞砜項目環(huán)評報告書
- 2024年煤礦重大事故隱患判定標準解讀與查找方法培訓(xùn)課件
- 候診廳衛(wèi)生管理制度
- 柱上斷路器培訓(xùn)
- 2024年4月自考00228環(huán)境與資源保護法學(xué)試題及答案
- 設(shè)備物資管理培訓(xùn)
評論
0/150
提交評論