




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 / 54 马士兵总结文档 Java应用程序的执行入口是 main方法 即 public static void main . /单行 注释 /* 多 行注释 .*/ /* *多行注释,且可以被 doc 工具解析 */ 凡是在大括号里面声明了的变量,出了大括号就没人认识这个在大括号内部声明的变量了。 public class 数据类型转换 1 2 / 54 public static void main(String args) int i =1,j; /赋值结果是 i=1,j 无值 . float f1 = ; float f3 = (float); /输入带小数点的数字, java 默认是 double型,因此想要输入 float 型的必须在之后加 f,或者用强制转换 float f2 = 123; /int 型向 float 型转换的 long l1 = 12345678;long l2 = 8888888888l; /前边的数字 int 型可以转换成为 long 型,但是后边的数字超出long的表数范围,所以会出错,必须用强制转换或者加 l double d1 = 2e20, d2 = 124; byte b1 = 1,b2 = 2,b3 = 127; /byte 型的数据必须在 -128 - 127 之 间,否则会处错误 i = i / 10;i = (int)(i * ); /i 本来是 int型的数据,但是在这里却变 成 double 型的数据,不能进行转换如果想用的话必须加强制转换符号 char c1 = a,c2 = 125; 3 / 54 /byte short char 不能相互转换,只能转换成 int 类型的 byte b = (byte)(b1 - b2); /b1 b2 先转换成 char c intint型的,运算结束后腰想变成 = (char) (c1 char+ bytec2 必须强制转换 Switch 语句: - 但是 switch 的 i可以是 byte、 /结果是 float f4 = f1 + f2,f5 = f1 + (float)(f2 * ); /不能从 double转换为 float型的 数据, f2*之后变成 double型的数据了 double d = d1 * i + j; /这里必须初始化变量 j float f = (float)(d1 * 5 + d2); 型的,要想变成型的必须加强制转换 转换成 int 型数据。 1); short 、 char 型的数据,因为他们可以自动 If 语句中,只有一句需要执行的话时,大括号可以省略,但是建议不省略,万一以后要修改在运行的时候会出些意想不到的问题。 4 / 54 三目运算符 _101zhi200之间的质数: public class _101zhi200 之间的质数 public static void main(String args) for (int i = 101; i /不是质数后,剩下的数字就没必要再求余了直接退出此个 for循环 if (f=false) /不是质数 continue; /跳过这个数字进行下一个数字 5 / 54 (i); 对于面向对象思维来说,针对某一件事,首先考虑的是该事物包 些类,哪些个对象;其次是考虑这些对象、方法的属性和方法; 是考虑类和类之间具有什么关系。 定义类后才能有对象,因 为对象时类的具体表现 类的定义、对象的创建: 6 / 54 public class Dog 含哪最后 int furColor; float height; float weight;/创建类的属性 / 创 建 类 的 方 法 public static void catchMouse(Mouse m) /执行方法 public static void main(String args) 在定义成员变量的时候,可以对其进行初始化赋值,如果未赋值的话, java默认是初始值如上图。 Dog d = new Dog(); /创建老鼠的类 class Mouse 对象的创建和使用: 7 / 54 int longth; int old; public static void scream() (啊啊啊啊啊啊啊啊啊啊啊啊啊 ); /创建一个狗的对象 Mouse m = new Mouse(); /创建一个老鼠的对象 /调用抓老鼠的方法 This关键字: 基础概念 (J2SE) (1_Java简介 ,2_基础语法 ) 1. Java是解释型语言: java 需要先编译为 .class 字节码文件,在执行时用解释器解释成操作系统能识别的文件。需要经过两次操作。 Java: 编译 *.java 源代码文件 -编译器编译 -*.class字节码文件, 执行 *.class 字节码文件 -解释器解释-操作系统能识别的文件 C/C+: 编译 .C 源代码文件 -编译器编译 -*.exe 字8 / 54 节码文件 , 执行 *.exe 字节码文件 -操作系统能识别的文件。 2. 基础类型的包装类 基础类型分配到栈,引用类型分配到堆 基础类 包装类 int Integer char Charater boolean Boolean 转换: 1. 当需要把 String 转换为基础数据类型时,使用对应的基础数据类型的包装类里面的方法。列: 9 / 54 int a = (s); 2. 将基本类型数据转换为 String: int a = 2; String m = (a); 3. String 转 char: String s = “Xforce” char a = (1); (3_面向对象编程 ) 重点: 1. 代码内存分析: 06_内存解析 _1, 07_内存解析 _2, 08_内存解析 _3, 14_TestCircle 程序分析 _1, 15_TestCircle 程序分析 _2, 10 / 54 15_TestCircle 程序分析 _2. 2. 动态绑定和多态 39_ 多 态 _ 40_ 多态 _ 内 存 分 析 见 39_ 多态 _ TestPolymoph 父类引用指向子类对象解释: 37_对象转型 _ 3. 抽象类、抽象方法 4. 接口 一、 1. 对象和类的概念 类是同种对象的集合与抽象,类中定义了这一类对象所应具有的静态和动态属性。 二、 面向对象设计思想和步骤 : (1) 分析问题中有哪些类那些对象 11 / 54 (2) 分析这些对象中应该具有的属性和方法 (3) 分析类与类之间的关系 三、 四、 Java 类的定义 局部变和成员变量 局部变量 :方法或语句块内部 (方法的参数叫局部变量 )(小 )( 必须赋初试值才可以使用 ) 成员变量 :方法外部、类的内部 (大 ), 不用初始化, java 系统会给你赋初始值 五、 引用类型 六、 1. 12 / 54 2. 3. 4. 5. 构造函数 构造函数名字与类的名字相同,大小写也保持一致 使用 new+构造方法创建一个新的对象 构造函数与类同名切没有返回值。即便是 void也不能写 注意:当无指定构造函数时,编译器为类自动添加形为: 类名 ( ) 的构造方法 例子 : 构造函数是定义在 java类中的一个用来初始化对象的函数 public class Person int id; int age = 20; Person(int _id , int _age) Id = _id Age = _age; 13 / 54 七、 方法重载 OverLoad, 方法重写 OverWrite, 方法覆盖 Override overload 完全新的方法,参数和原方法不同。 override 覆盖继承到的那个方法,原方法没有放弃。 overwrite 重写继承到的那个方法的代码,原方法被放弃。 其中 Eclpise 中没有 overwrite 的说法 , 也即 override 和 overwrite 是同一个概念。 马士兵教程 : 方法覆盖 Override也叫方法重写 OverWrite。 方法重载 OverLoad: 方法的重载指一个类中可以定义有相同的名字,但参数个数不同和参数类型不同的多个方法。调用时 会根据不同的参数表选择对应方法 .能被编译器区分的14 / 54 方法既是构成重载。构造函数 (方法 )也可以重载 . Person() id = 0;age = 20; Person(int _id) id = _id;age = 23; 方法覆盖 Override(方法重写 OverWrite): 在子类中根据需要对基类中继承来的方法进行重写 . 注意 :1. 重写方法必须和被重写方法具有相同方法名称、参数列表和返回值 . 2. 重写方法不能使用比被重写方法更严格的访问权 限 . 3. 子类覆盖父类的方法时,只能比父类抛出更少的异常,或者是抛出父类抛出的异常的子异常,因为子类可以解决父类的一些问题,不能比父类有更多的问题 . 4. 如果父类的方法是 private 类型,那么,子类则不存在覆盖的限制,相当于子类中增加了一个全新的方法 . 八、 this 关键字 15 / 54 使用 this (argument_list) 调用本类的另外的构造方法 使用 = xxx 获取本类另外一个构造方法传来的值 this可以看做一变量,它的值是当前对象引用 定义:在类的方法定义中使用 this 关键字代表使用该方法的对象引用 九、 1. Static 关键字 在类中,使用 static 声明的成员变量为静态成员变量, 它为该类的公用变量,在第一次使用时被初始化,对该类的所有对象 来说, static 成员变量只有一份。 2. 用 static声明的方法为静态方法,在调用该方法时,不会将对象的引用传 递给它,所以在 static 方法中不可访问非 static的 16 / 54 成员。 - -静态方法不再是针对某个对象调用,所以不能访问非静态成员 3. 4. 可以通过对象引用或者类名 (不需实例化 )访问静态成员。 静态变量可以用来计数。 (main 方法可以直接调用 ) 十、 控制访问 public protected private default 1. 可修饰 class和成员变量 (成员方法 ) 2. Class: public 和 default 3. default 包权限 4. private 私有类 子类拥有私有变量的所有权,无使用权(只能看 不能动 ) 十一、 17 / 54 类的继承与权限控制 class extends Java 中使用 extends关键字实现类的继承机制。语法为: 通过继承,子类自动拥有了基类 (父类 )(superclass)的所有成员 (成员变量和方法 ) java只支持单继承,不允许多继承:一个子类只能有一个基类 一个基类可以派生出多个类 十二、 super 关键字 用 super 来引用当前基类 (父类 )的成分 就是说子类继承父类时,父类的某个方法虽然完成的不是很好但是也完成了部分功能不必重写,就用 () 调用父类的相应方法,再接着写你想实现的功能 十三、 继承中的构造方法 1. 2. 子类的构造过程中必须调用基类的构造方法。 子类可在18 / 54 自己的构造方法中使用 super(argument_list 参数列表 )调用基 类的构造方法。 -使用 this(argument_list)调用本类另外的构造方法 补充:可以先用 super()调基类,再用 this()调子类 ,super()必须写在子类的构造过程前面! -http:/blog/64759 3. 4. 5. 6. 如果子类构造方法中没有显示的调用基类构造方法则系统默认调用基类无参数的构造方法。 如果子类构造方法既没有显示地调用基类构造方法,而基类中有没有无参数的构造方法 ,则编译出错。 文件编译的时候,子类的所有方法都要执行一遍,即有参 SubClass(int n) 和无参的SubClass( )都要执行。 更多 : Java 继承应用之小结 19 / 54 http:/blog/641709 -如果调用 super.必须写在子类构造方法第一行 十四、 Object类之 toString方法 1. Object 类中定义有 public String toString( )方法,起返回值是 String 类,描述当前对象的有关信息 2. 在进行 String 与其他类型数据的连接操作时 (如:(“info”+person), 将自动调用该对象类的 toString()方法 3. 可以根据需要在用户自定义类型中重写 toString()方法 十五、 Object类之 equals 方法 1. 2. 十六、 对象转型 父类引用指向子类对象解释: 37_对象转型 _ a instanceof Cat 判断 a 对象是不是 Cat 类型 20 / 54 十七、 动态绑定和多态 1. 在执行期间 (非编译期 )判断所引用对象实际类型,根据其实的类型调用其相应的方法 2. 多态存在的条件 :有继承,有重写,父类引用指向子类对象。一旦满足,当父类里被重写的方法时,实际 new 的哪个子类对 象,就调用子类对象方法。 见 笔记手册 总结:多态继承重写父类引用指向子类的对象 . 3. 父类引用指向子类对象 要理解多态性,首先要知道什么是 “ 向上转型 ” 。 我定义了一个子类 Cat,它继承 了 Animal类,那么后者就是前者是父类。我可以通过 Cat c = new Cat(); 实例化一个Cat的对象,这个不难理解。 21 / 54 但当我这样定义时: Animal a = new Cat(); 这代表什么意思呢? 很简单,它表示我定义了一个 Animal 类型的引用,指向新建的 Cat 类型的对象。由于 Cat是继承自它的父类 Animal,所以 Animal 类型的引用是可以指向 Cat类型的对象的。 那么这样做有什么意义呢?因为子类是对父类的一个改进和扩充,所以一般子类在功能上较父类更强大,属性较父类更独特, 定义一个父类类型的引用指向一个子类的对象既可以使用子类强大的功能,又可以抽取父类的共性。 所以,父类类型的引用可以调用父类中定义的所有属性和方法,而对于子类中定义而父类 中没有的方法,它是无可奈何的; 同时,父类中的一个方法只有在在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用; 对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就是动态连接。 十八、 抽象类、抽象方法 1. 22 / 54 2. 用 abstract 来修饰的类 /方法 规则 : 1) 2) 3) 含有抽象方法的 类必须被声明为抽象类,抽象类必须被继承,抽象方法必须重写 抽象类不能被实例化 抽象方法只需声明而不需实现 抽象类声明的语法形式为 abstract class Number . . . 抽象方法声明的语法形式为 public abstract (.); 十九、 Final 关键字 1. final 的变量的值不能够被改变 a) b) 2. 23 / 54 3. final 的成员变量 final 的局部变量 final 的方法不能够被重写 final 的类不能够被继承 public final void m( ) 方法 final int I = 9 成员 /局部变量 如: public final class String 类 二十、 接口 /interface 1. 2. 3. 接口是抽象方法和常量值的定义的集合 从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。 接口定义举例: public interface Runner (public static final) int id = 1; 24 / 54 public (abstract) void start( );/抽象类,不需要实现 public (abstract) void run( ); public (abstract) void stop( ); 4. 接口特征 1) 2) 3) 接口可以多重实现 ; 接口中声明的属性必 须为 public static final 的,可以不写 ; 接口中只能定义抽象方法 ,而且这些方法必须为 public abstract 的 ; 4) 25 / 54 5) 接口可以继承其他的接口,并添 加新的属性和抽象方法 ; 与继承关系类似,接口与实现类之间存在多态性 *接口之间可以相互继承,类之间也可以相互继承而类只能实现接口对 象实现接口的时候一定要把接口中的方法定义 接口实现 :就是实现接口,实现接口里面的所定义的抽象方法 5. 1) 2) 3) 接口规则 多个无关类可以实现同一接口 ,如例二 一个类可以实现多个无关接口 ,如例二 与继承 关系类似接口与实现类之间存在多态性 建立第 1 个 Struts2 小项目: Struts2_0100_Introduction 1. 拷贝 appsWEB-INFclasses至项目的源文件夹 src目26 / 54 录下 2. 拷贝 appsWEB-INFlib 下 的 所 有 jar 文 件 至 /Struts2_0100_Introduction/WebRoot/WEB-INF/lib 目录 3. 修改文件如下: 4. 修改文件如下: 5. 在浏览器输入 ,即可输出的内容 6. 如何为 jar 包中的 class 文件建立源码以及 javadoc? - 选择 jar包,右击选择 Properties - 建立源代码目录 - 建立 javadoc目录 - 建立一个 java文件,选择其中的一个类,按 F1键即可弹出对应类的 javadoc 27 / 54 7. 如何自动提示? - 解压 lib - 得到我们修改的参照: lib - Key: http:/dtds/ - WindowPreferences 8. struts2工作原理:将请求与显示相分离 建立第 2 个 Struts2 小项目: Struts2_0200_Namespace 1、关于 Namespace(必须 /开头 )的小结,修改如下: 2、 copy项目的时候,如 copy项目 Struts2_0200_Namespace为项目 T,则右键选择 properties,需要修改: 3、如何导入项目? 1)右击选择 Import? 2)必须勾选 “Copy projects into workspace” 3) 唯一可能出现的问题:拷贝项目的 JRE System Library 28 / 54 的存储路径,重新 Configure Build Path 即可 建立第 3 个 Struts2 小项目: Struts2_0300_Action 1、关于 Action的详述 1) 如果不包含 class属性,则会自动默认调用 - - ? ? ActionSupport implements Action Action 是一个含 public String execute()方法的接口 - 这个 class必须含 public String execute()方法 2 ) 如 果 不 包 含 name 属 性 , 则 会 自 动 默 认 设 置name=success;否则 name等于 execute()方法的返回值 29 / 54 3)如何编写一个 Action 的 类? - 含 execute()方法的普通类 - implements Action 接口的类,则必须实现 execute()方法 - extends ActionSupport 的类 2、重申 Struts2的工作原理 1) client 提交一个客户端请求 2)服务器接收到这个请求后,会根据中的寻找,调用doFilter()方法 3) strtus2filter 根据检查 - namespace - action:根据 class来处理 - result:根据 name来处理 4)读出 result中的 .jsp页面,并返回给客户端 建立第 4 个 Struts2 小项目: Struts2_0400_Path 30 / 54 1、 struts2 中的路径问题是根据 action 的路径而不是 JSP的路径来确定,所以尽量不要使用相对路径,统一使用绝对路径 2、可以由如下生成绝对路径 String path = (); String basePath = ()+:/+()+:+()+path+/; 3. : 在 SessionFactory 创建时,自动检查数据库结构,或者将数据库 schema 的 DDL 导出到数据库。使用 create-drop 时,在显式关闭 SessionFactory 时,将删除掉数据库 schema。 例如: validate | update | create | create-drop 31 / 54 create :如果没有表就创建 update :如果表结构更新,就更新 validate :每次插入表的时候看看表结构有没有 更新。 理论上是先建类后建表:这个时候只要你的类建好了,可以跨数据库。 实际中先建表比先建类多,建好表以后要对数据库进行优化,比如建索引,建试图,各种各样的优化。 projectetc 目录下面有很多示例性的文档, log4j 的文档就在那个下面。 SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); SessionFactory 的建立是很耗费时间的,应该像连接池一样,只建立一次,以后要用就直接从那用。 32 / 54 Hibernate 文档建议我们自己写一个辅助类,用单例来做。 JUnit的一个 bug: BeforeClass public static void beforeClass() sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); 在这句话的时候 配置文件如果有的时候写错了,她悄悄把错误隐藏起来了。 解决的方法 :可以对这句话加 try catch 块 8.表名和类名不一致的时候: 33 / 54 Entity Table(name=_teacher) public class Teacher 10字段名和属性名不一致的时候 Column(name=_name) public String getName() return name; 11 不需要的字段的设置 Transient public String getYourWifeName() 34 / 54 return yourWifeName; 12 映射指定的时间日期 Temporal() public Date getBirthDate() return birthDate; 在注解里面如果一个注解的属性名字叫 value,你可以不写,直接写后面的值,如 Temporal(value=“”) 可写成上面的那样。 如果不写会把时间日期都放到表里面 指定时间时默认 35 / 54 还有 time 和 date 不过最常用的还是默认的。 13注意映射枚举类型用 habernate xml 的方式很麻烦 在设定枚举时 :以字符串方式显示: 以数字书序显示: Enumerated() public Gender getGender() return gender; 自增 Mysql autoincreatment Oracle sequence 如果将来的程序想跨数据库平台选 native 或 uuid GenerateValue 注意是里的 value,默认的是 native increment(很少用 ) 36 / 54 用于为 long, short 或者 int 类型生成 唯一标识。只有在 没有其他进程往同一张表中插入数据时才能使用。在集群下不要使用。 identity 对 DB2, MySQL, MS SQL Server, Sybase 和 HypersonicSQL 的内置标识字段提供支持。返回的标识符是 long, short 或者 int 类型的。 sequence 在 DB2, PostgreSQL, Oracle, SAP DB, McKoi 中使用序列, 而在 Interbase 中使用生成器。返回的标识符是 long,short 或者 int 类型的。 hilo 使用一个高 /低位算法高效的生成 long, short 或者 int 类型的标识符。给定一个表和字段作为高位值的来源。高 /低位算法生成的标识符只在一个特定的数据库中是唯一的。 uuid 37 / 54 用一个 128-bit 的 UUID 算法生成字符串类型的标识符,这在一个网络中是唯一的。 UUID 被编码为一个 32 位 16 进制数字的字符串。 guid 在 MS SQL Server 和 MySQL 中使用数据库生成的 GUID 字符串。 Native 根据底层数据库的能力选择 identity、 sequence 或者 hilo 中的一个。 在 Oracle里面表名不能以下划线开头 课程内容 1. 面向接口编程的概念与好处 2. IOC/DI 的概念与好处 38 / 54 a) inversion of control b) dependency injection 3. AOP 的概念与好处 4. Spring 简介 5. Spring 应用 IOC/DI a) xml b) annotation 6. Spring 应用 AOP a) xml b) annotation 7. + + 整合 a) opensessionInviewfilter 39 / 54 8. Spring JDBC 面向接口编程 1. 场景:用户添加 2. Spring_0100_AbstractOrientedProgramming a) 不是 AOP:Aspect Oriented Programming 3. 好处:灵活 什么是 IOC,有什么好处 1. 把自己 new的东西改为由容器提供 a) 初始化具体值 b) 装配 2. 好处:灵活装配 40 / 54 Spring 简介 1. 项目名称: Spring_0200_IOC_Introduction 2. 环境搭建 a) 只用 IOC i. , jarkata-commons/ 3. IOC 容器 a) 实例化具体 bean b) 动态装配 4. AOP 支持 a) 安全检查 b) 管理 transaction 41 / 54 Spring IOC配置与应用 1. FAQ:不给提示: a) window preferences myeclipse xml xml catalog b) User Specified Entries add i. Location: ii. D:share0900_Springsoftdistresources URI: iii. iv. file:/D:/share/0900_Spring/soft/dist/resourceSchema Location s/ Key Type: Key: http:/schema/beans/ 42 / 54 2. 注入类型 a) b) c) d) Spring_0300_IOC_Injection_Type setter 构造方法 接口注入 3. id vs. name a) Spring_0400_IOC_Id_Name b) name可以用特殊字符 4. 简单属性的注入 a) Spring_0500_IOC_SimpleProperty b) 43 / 54 5. a) Spring_0600_IOC_Bean_Scope b) singleton 单例 c) proptotype 每次创建新的对象 6. 集合注入 a) Spring_0700_IOC_Collections b) 很少用,不重要!参考程序 7. 自动装配 a) Spring_0800_IOC_AutoWire b) byName c) byType d) 如果所有的 bean 都用同一种,可以使用 beans 的属性:44 / 54 default-autowire 8. 生命周期 a) Spring_0900_IOC_Life_Cycle b) lazy-init (不重要 ) c) init-method destroy-methd 不要和 prototype 一起用 9. Annotation 第一步: a) 修改 xml 文件,参考文档 10. Autowired a) 默认按类型 by type b) 如果想用 byName,使用 Qulifier c) 写在 private field 45 / 54 d) 如果写在 set上, qualifier 需要写在参数上 11. Resource a) 加入: j2ee/ b) 默认按名称,名称找不到,按类型 c) 可以指定特定名称 d) 推荐使用 e) 不足:如果没有源码,就无法运用 annotation,只能使用 xml 12. Component Service Controller Repository a) 初始化的名字默认为类名首字母小写 b) 可以指定初始化 bean的名字 13. Scope 46 / 54 14. PostConstruct = init-method; PreDestroy = destroy-method; 什么是 AOP 1. 面向切面编程 Aspect-Oriented-Programming a) 是对面向对象的思维方式的有力补充 2. Spring_1400_AOP_Introduction 3. 好处:可以动态的添加和删除在切面上的逻辑而不影响原来的执行代码 a) Filter b) Struts2 的 interceptor 4. 概念: a) JoinPoint 47 / 54 b) PointCut c) Aspect d) Advice e) Target f) Weave Spring AOP配置与应用 1. 两种方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离谱医生考试题及答案
- 课件显示作图过程
- 2025年中国拔罐器数据监测报告
- 客服管家考试题及答案
- 绞盘机司机数字化技能考核试卷及答案
- 井矿盐制盐工专项考核试卷及答案
- 多维地理信息采集员知识考核试卷及答案
- 旅游团队领队晋升考核试卷及答案
- 静脉抽血考试题及答案
- 河北石家庄市42中7年级下册数学期末考试专项练习试题(含答案解析)
- 2025中国人民抗日战争纪念馆招聘4人考试模拟试题及答案解析
- 中国多发性骨髓瘤诊治指南(2024年修订)解读课件
- 果树栽培工专业技能考核试卷及答案
- 空调电费知识培训内容课件
- 2025排污许可条例试题及答案
- 2025年秋期新教材部编人教版三年级上册道德与法治教学计划+进度表
- 水工结构理论知识培训课件
- 粮库业务知识培训课件
- 医师临床“三基”训练综合试卷(含答案)
- 2025至2030年中国综合能源服务市场竞争策略及行业投资潜力预测报告
- 2025-2026粤教粤科版(2024)科学三年级上册教学设计(附目录)
评论
0/150
提交评论