版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录导航3.1面向对象的概念3.2类与对象3.3类的构造方法3.4方法重载3.5
this关键字3.6
static关键字3.7
import关键字3.8【商业实例】“银行提款机”项目——使用面向对象的思想改造3.9【综合实训】定义一个汽车类3.1面向对象的概念面向对象程序设计是一种编程范式或方法论,它基于现实世界中对象(Object)的概念来组织和管理计算机程序的结构及行为。在面向对象程序设计中,计算机程序被视为一组相互协作的对象,每个对象都有其自身的状态(属性)和行为(方法),并且可以与其他对象进行交互。面向对象程序设计的优点包括代码的可维护性、可重用性、灵活性和抽象性。它使程序员能够更好地模拟和解决现实世界中的问题,是现代软件开发的主要方法之一。面向对象程序设计有助于组织和管理复杂的程序,提高了代码的可读性、可维护性和可重用性。通过把现实世界的问题建模为对象,程序员可以更容易地理解和解决问题,从而编写出更高效的代码。目录导航3.1面向对象的概念3.2类与对象3.3类的构造方法3.4方法重载3.5
this关键字3.6
static关键字3.7
import关键字3.8【商业实例】“银行提款机”项目——使用面向对象的思想改造3.9【综合实训】定义一个汽车类3.2.1类的定义类是Java编程中的基本构建块之一,用于创建和组织对象,使代码更易于维护和扩展。类的定义通常包括类的名称、属性(也称为成员变量)和方法(也称为成员函数)。类的定义以关键字class开始,后跟类名。定义一个Car类,属性包括color(颜色)和speed(速度),方法包括start()(启动)和stop()(停止),示例代码如下。publicclassCar{//属性(成员变量)
Stringcolor;intspeed;//方法(成员函数)
voidstart(){//方法体
}//方法(成员函数)
voidstop(){//方法体
}}3.2.2对象的创建与使用1.对象的创建要创建对象,需要使用new关键字,后跟类名和圆括号。这个过程将分配内存并初始化对象,返回一个对该对象的引用。创建一个名为myCar的Car类对象,代码如下。CarmyCar=newCar();2.访问对象的属性和方法一旦对象被创建,就可以使用点号操作符“.”来访问其属性和方法。例如,设置汽车的颜色和速度属性,代码如下。myCar.color="Red";myCar.speed=60;调用汽车的启动和停止方法,代码如下。myCar.start();myCar.stop();3.2.2对象的创建与使用3.多个对象的创建创建多个相同类的不同对象,每个对象都有自己的属性值,这样可以在程序中表示多个独立的实体。例如,在上述代码下添加以下代码。CaranotherCar=newCar();anotherCar.color="Blue";anotherCar.speed=70;4.对象的销毁Java提供了垃圾回收机制,用于自动释放不再引用的对象的内存。程序员通常不需要手动销毁对象,Java会负责管理对象的生命周期。3.2.3包的使用在Java中,包(Package)是用于组织和管理类及接口的命名空间。包提供了一种将相关类和接口组织到一个单独的单元中的方式,以防止命名冲突,并使代码更具可维护性和可组织性。包的定义包是一种逻辑上的组织结构,它将相关类和接口放在同一个命名空间下。包的名称通常是逆域名(反向的Internet域名)的形式,如com.example.myapp。包可以形成层次结构,即一个包包含在另一个包中。例如,com.example包可以包含com.example.myapp包。这种层次结构有助于更好地组织和管理代码。包的层次结构01OPTION02OPTION3.2.3包的使用包的作用包的主要作用是防止命名冲突。当多个开发者在不同的包中编写类时,这些类可以使用相同的名称而不会产生冲突,因为每个类都属于不同的包。在Java中,使用import语句来导入其他包中的类,以便在当前类中使用它们。例如:包的导入03OPTION04OPTIONimportjava.util.ArrayList;表示在当前类中使用java.util包中的ArrayList类。3.2.3包的使用包的可见性Java中的类和成员可以使用不同的访问权限修饰符(public、protected、private、default),这些修饰符控制了类和成员的可见性。其中,default成员只能在当前包中访问,而public成员可以在任何位置访问。Java标准库(JavaStandardLibrary)包含大量的包,这些包提供了各种功能,如集合框架、I/O、网络编程等。开发者可以直接使用标准库包中的类来实现常见的功能,而无须重新编程。Java标准库包05OPTION06OPTION3.2.3包的使用自定义包开发者也可以自定义包来组织自己的代码。要想自定义一个包,需要在类文件的开头使用package声明,并将类文件放置在对应的目录结构中。举例如下。07OPTIONpackagecom.example.myapp;publicclassMyClass{//类定义}包是Java中组织和管理代码的重要机制之一。它有助于将相关的类组织到一起,防止命名冲突,提高代码的可维护性和可组织性。在实际开发(特别是大型项目)中,包的使用是一种良好的编程实践。3.2.4类的访问权限1.public使用public(公共访问修饰符)修饰的类对所有类都是可见的。这意味着所有类都可以访问public类的成员。publicclassPublicClass{//可以被其他类访问}2.protected使用protected(受保护访问修饰符)修饰的类对同一个包中的其他类及其子类是可见的。在Java中,类的访问权限用于控制其他类是否可以访问该类的成员(属性、方法)。Java提供了4种不同的访问权限修饰符,用于控制类的可见性和访问级别。这些访问权限修饰符也适用于类的成员,如属性和方法。protectedclassProtectedClass{//对同一个包中的其他类及其子类可见}3.2.4类的访问权限3.default如果没有明确指定访问权限修饰符,那么类默认具有default(默认访问修饰符)的访问权限。这意味着只有同一个包中的其他类才能访问default类的成员。classDefaultClass{//对同一个包中的其他类可见}4.private使用private(私有访问修饰符)修饰的类对其他类都是不可见的。这意味着只有在同一个类中才能访问private类的成员。privateclassPrivateClass{//只能在同一个类中访问}目录导航3.1面向对象的概念3.2类与对象3.3类的构造方法3.4方法重载3.5
this关键字3.6
static关键字3.7
import关键字3.8【商业实例】“银行提款机”项目——使用面向对象的思想改造3.9【综合实训】定义一个汽车类3.2.1类的定义构造方法是Java中用于初始化对象的特殊方法,它在创建对象时自动调用。构造方法的名称必须与类名相同,没有返回类型,可以有参数,也可以没有参数。每个类都可以有一个或多个构造方法,以便在创建对象时提供不同的初始化选项。1.构造方法的主要作用构造方法可以为对象分配内存空间,初始化对象的属性,执行任何必要的初始化操作,在对象创建时执行一些代码。在Java中,如果没有显式定义构造方法,则编译器会提供一个默认的无参构造方法,该构造方法不做任何操作。如果定义了至少一个构造方法,则编译器不再提供默认的构造方法。3.2.1类的定义2.构造方法的主要特性构造方法没有返回类型一个类可以有多个构造方法,具有不同的参数列表(方法重载)构造方法可以包含任何合法的Java代码构造方法可以有参数,也可以没有参数,这些参数用于初始化对象的属性构造方法的名称与类名相同3.2.1类的定义3.构造方法的使用构造方法可以确保对象在创建时处于有效状态。构造方法用于初始化对象的属性,可以在其中设置默认值或执行一些初始化操作。构造方法在使用new关键字创建对象时自动调用。示例代码如下。publicclassCar{Stringcolor;intspeed;//无参数的构造方法
publicCar(){color="Unknown";speed=0;}//带参数的构造方法
publicCar(StringinitialColor,intinitialSpeed){color=initialColor;speed=initialSpeed;}}在这个示例中,Car类是一个简单的Java类,表示汽车。它包含两个属性:color(颜色)和speed(速度)。该类还定义了两个构造方法:一个是无参数的构造方法,用于初始化汽车的颜色“Unknown”、速度为“0”;另一个是带参数的构造方法,它允许在创建汽车对象时直接指定汽车的颜色和速度。这两个构造方法提供了不同的初始化选项,使得Car对象的创建更加灵活。目录导航3.1面向对象的概念3.2类与对象3.3类的构造方法3.4方法重载3.5
this关键字3.6
static关键字3.7
import关键字3.8【商业实例】“银行提款机”项目——使用面向对象的思想改造3.9【综合实训】定义一个汽车类3.4方法重载方法重载(MethodOverloading)是指同一个类中可以定义多个具有相同名称但参数列表不同的方法。这些方法根据传入的参数的类型、数量或顺序执行不同的操作。方法重载允许使用相同的方法名来表示一组相关的操作,提高了代码的可读性和可维护性。方法重载的规则如下。方法名必须相同方法参数列表必须不同,可以是参数的类型、数量或顺序不同方法的返回类型可以相同也可以不同,但不能仅依据返回类型来重载方法3.4方法重载下面使用方法重载实现加法和乘法运算。publicclassMathUtils{//重载的方法:计算2个整数的和
publicintadd(inta,intb){returna+b;}//重载的方法:计算2个双精度浮点数的和
publicdoubleadd(doublea,doubleb){returna+b;}//重载的方法:计算3个整数的和
publicintadd(inta,intb,intc){returna+b+c;
}//重载的方法:计算2个整数的积
publicintmultiply(inta,intb){returna*b;}//重载的方法:计算2个双精度浮点数的积
publicdoublemultiply(doublea,doubleb){returna*b;}}方法重载是Java中的常见编程技巧,用于简化和统一类的接口,使代码更具可扩展性和可重用性。目录导航3.1面向对象的概念3.2类与对象3.3类的构造方法3.4方法重载3.5
this关键字3.6
static关键字3.7
import关键字3.8【商业实例】“银行提款机”项目——使用面向对象的思想改造3.9【综合实训】定义一个汽车类3.5this关键字在Java中,this关键字是一个特殊的引用,用于引用当前对象。它可以在类的方法内部使用,用于区分成员变量和参数,以及访问当前对象的成员。1.引用当前对象在Java中编写类的方法时,this关键字通常用于引用当前对象的成员变量、方法或构造函数。下面演示如何在方法内部使用this关键字来引用当前对象的成员变量。publicclassPerson{//成员变量
privateStringname;privateintage;//构造函数
publicPerson(Stringname,intage){//使用this关键字区分成员变量和参数
=name;//指的是类的成员变量namethis.age=age;//this.age指的是类的成员变量age3.5this关键字}//方法
publicvoidintroduce(){//使用this关键字引用当前对象的成员变量
System.out.println("Hello,mynameis"++"andI'm"+this.age+"yearsold.");//注意:在大多数情况下,如果成员变量和局部变量没有命名冲突,则可以省略this关键字
//例如,以下语句也可以正常执行
/*System.out.println("Hello,mynameis"+name+"andI'm"+age+"yearsold.");*/}}在这个示例中,Person类有两个成员变量name和age,以及一个构造函数和一个introduce()方法。在构造函数中,使用
和this.age来区分成员变量和参数。在introduce()方法中,使用和this.age来引用当前对象的成员变量。但实际上这个示例的成员变量和局部变量没有命名冲突,可以省略this关键字。3.5this关键字2.解决命名冲突this关键字可以用于解决成员变量和方法参数之间的命名冲突。示例代码如下。publicclassMyClass{privateintnumber;publicvoidsetNumber(intnumber){//使用this关键字引用成员变量
this.number=number;}}在这个示例中,MyClass类包含一个私有整型成员变量number和一个公共方法setNumber()。在setNumber()方法中,使用this关键字来区分成员变量和参数,以确保将参数值赋给成员变量。在这个示例中,Person类定义了两个私有成员变量name和age,以及两个构造方法。第一个构造方法接收一个String类型的name参数,并将其值赋给类的成员变量name。第二个构造方法接收一个String类型的name参数和一个int类型的age参数,通过this(name);语句调用第一个构造方法以初始化name,并将age参数的值赋给类的成员变量age。这种方式称为构造方法的重载,可以使代码更加简洁和易于维护。3.5this关键字3.在构造方法中调用其他构造方法this关键字还可以用于在构造方法中调用其他构造方法,以实现构造方法的重用。这通常用于构造方法的重载。下面使用this关键字在构造方法中调用其他构造方法。publicclassPerson{privateStringname;privateintage;//构造方法1publicPerson(Stringname){=name;}//构造方法2,调用构造方法1publicPerson(Stringname,intage){this(name);//调用构造方法1this.age=age;}}3.5this关键字4.返回当前对象在某些情况下,方法可以返回this关键字,代表返回当前对象,以便在连续的方法调用中构建链式调用。链式调用是一种设计模式,该模式允许在单个对象上连续调用多个方法,而无须在每次调用后都重新指定该对象。每个方法调用都返回该对象本身(通常是this关键字),从而允许后续的方法调用链接在一起。publicclassStringBuilderDemo{privateStringBuildertext=newStringBuilder();//在字符串的基础上进行追加拼接
publicStringBuilderDemoappend(Stringstr){text.append(str);returnthis;//返回当前对象,支持链式调用
}//输出字符串
publicStringtoString(){returntext.toString();}3.5this关键字publicstaticvoidmain(String[]args){//创建StringBuilderDemo对象
StringBuilderDemodemo=newStringBuilderDemo();//调用append()方法追加Hello和WorldStringBuilderDemoappend=demo.append("Hello").append("World");//输出字符串
System.out.println(append.toString());}}在这个示例中,StringBuilderDemo类展示了如何使用StringBuilder来实现链式调用的字符串拼接。该类中定义了一个StringBuilder类型的私有成员变量text,并提供了append()方法用于向text中追加字符串,同时返回当前对象以支持链式调用。toString()方法将text转换为字符串并返回。在main()函数中,创建了一个StringBuilderDemo对象,并通过链式调用append()方法向其中追加字符串,最后通过toString()方法将结果输出到控制台。运行代码,输出结果如图3.2所示。图3.2输出结果目录导航3.1面向对象的概念3.2类与对象3.3类的构造方法3.4方法重载3.5
this关键字3.6
static关键字3.7
import关键字3.8【商业实例】“银行提款机”项目——使用面向对象的思想改造3.9【综合实训】定义一个汽车类3.6static关键字static是Java中的一个关键字,用于表示某些成员或内部类属于类本身,而不是类的实例。static关键字可以用于表示静态成员(属性、方法、块)或静态内部类,静态成员不依赖于对象的创建,可以通过类名直接访问。1.静态属性使用static关键字定义的属性被称为静态属性(StaticField)。publicclassCounter{staticintcount=0;//静态属性
publicCounter(){count++;//每次创建对象时增加计数
}publicvoidprintCounter(){System.out.println("共创建对象"+count+"次");}publicstaticvoidmain(String[]args){Counterc1=newCounter();Counterc2=newCounter();c2.printCounter();}}在这个示例中,Counter类是一个简单的计数器类,它包含一个静态属性count,用于记录已创建对象的数量。当创建Counter类的新对象时,构造函数会自动将count值加1。Counter类中还有一个printCounter()方法,用于输出当前创建对象的次数。在main()函数中,创建了两个Counter对象,并调用第二个对象的printCounter()方法输出创建对象的次数,即2次。3.6static关键字运行代码,输出结果如图3.3所示。从中可以看出Counter类的count属性是共享的,即在一个对象中修改了此值,在另一个对象中可以访问到。在JVM中,常量通常存放在方法区中,对象存放在JVM堆中,对象的引用存放在JVM栈中,如图3.4所示,在JVM栈中引用JVM堆中的对象,JVM堆中的对象引用方法区中的常量。图3.3输出结果图3.4静态属性的内存分配情况3.6static关键字2.静态方法使用static关键字定义的方法称为静态方法(StaticMethod)。静态方法可以直接通过类名调用,而不需要创建类的实例。下面使用静态方法完成两个数的相加操作。publicclassMathUtils{publicstaticintadd(inta,intb){returna+b;}}在这个示例中,MathUtils是一个简单的Java工具类,用于提供数学相关的静态方法。在这个类中,定义了一个名为add的静态方法,该方法接收两个整型参数a和b,并返回它们的和。由于add()是静方法,可以直接通过类名MathUtils调用,而不需要创建MathUtils类的实例。3.6static关键字3.静态块静态块通常用于执行一些初始化操作,如加载驱动程序、初始化静态属性等。publicclassDatabaseConnection{privatestaticConnectionconnection;//静态块,用于初始化数据库连接
static{try{//加载数据库驱动(这里以MySQL为例)
Class.forName("com.mysql.cj.jdbc.Driver");//建立数据库连接
Stringurl="jdbc:mysql://localhost:3306/mydatabase";Stringusername="myuser";Stringpassword="mypassword";connection=DriverManager.getConnection(url,username,password);System.out.println("数据库连接已建立");}catch(ClassNotFoundExceptione){System.err.println("数据库驱动未找到:"+e.getMessage());}catch(SQLExceptione){System.err.println("数据库连接失败:"+e.getMessage());}}}在这个示例中,DatabaseConnection类是一个用于管理数据库连接的类。它使用静态块在类加载时自动建立到MySQL数据库的连接。该类中定义了一个私有的静态Connection对象来保存数据库连接。如果数据库驱动未找到或连接失败,则会捕获并输出相应的异常信息。该类简化了数据库连接的建立过程。3.6static关键字2.静态方法使用static关键字定义的方法称为静态方法(StaticMethod)。静态方法可以直接通过类名调用,而不需要创建类的实例。下面使用静态方法完成两个数的相加操作。publicclassMathUtils{publicstaticintadd(inta,intb){returna+b;}}在这个示例中,MathUtils是一个简单的Java工具类,用于提供数学相关的静态方法。在这个类中,定义了一个名为add的静态方法,该方法接收两个整型参数a和b,并返回它们的和。由于add()是静方法,可以直接通过类名MathUtils调用,而不需要创建MathUtils类的实例。3.6static关键字4.静态内部类内部类可以被声明为静态内部类(StaticInnerClass),这意味着静态内部类不依赖于外部类的实例。静态内部类可以通过类名直接访问,无须创建外部类的实例。示例代码如下。publicclassOuter{staticclassInner{//静态内部类
}}5.静态块、代码块的执行顺序静态块在类加载时执行且只执行一次,而代码块(实例初始化块)在每次创建实例时执行。publicclassMain{//静态块,在类加载时执行一次
static{System.out.println("Outerclassstaticblockisexecuted.");}//代码块,在每次创建类的新实例时执行
{3.6static关键字4.静态内部类内部类可以被声明为静态内部类(StaticInnerClass),这意味着静态内部类不依赖于外部类的实例。静态内部类可以通过类名直接访问,无须创建外部类的实例。示例代码如下。publicclassOuter{staticclassInner{//静态内部类
}}5.静态块、代码块的执行顺序静态块在类加载时执行且只执行一次,而代码块(实例初始化块)在每次创建实例时执行。publicclassMain{//静态块,在类加载时执行一次
static{System.out.println("Outerclassstaticblockisexecuted.");}//代码块,在每次创建类的新实例时执行
{3.6static关键字System.out.println("Outerclassinstanceinitializationblockisexecuted.");}//构造方法,在创建类的新实例时执行,位于代码块之后
publicMain(){System.out.println("Outerclassconstructorisexecuted.");}//静态内部类
staticclassInnerClass{//静态块,在内部类加载时执行一次
static{System.out.println("Innerclassstaticblockisexecuted.");}//代码块,在每次创建内部类的新实例时执行
{System.out.println("Innerclassinstanceinitializationblockisexecuted.");}//构造方法,在创建内部类的新实例时执行,位于代码块之后
publicInnerClass(){System.out.println("Innerclassconstructorisexecuted.");3.6static关键字}}//main()函数,程序入口
publicstaticvoidmain(String[]args){//输出main()函数执行信息
System.out.println("Mainmethodisexecuted.");//创建外部类实例,会依次执行外部类的静态块(如果尚未执行)、代码块和构造方法
newMain();//创建内部类实例,会依次执行内部类的静态块(如果尚未执行)、代码块和构造方法
newInnerClass();}}在这个示例中,Main类中包含静态块、代码块和构造方法,InnerClass是Main类的静态内部类。执行main()函数时,首先,输出“Mainmethodisexecuted.”,并创建Main类实例,由于它是静态的,会先执行其静态块,再执行代码块和构造方法;其次,创建InnerClass类实例,由于它是静态的,会先执行其静态块,再执行代码块和构造方法。在整个过程中,静态块只执行一次,代码块和构造方法在每次创建实例时执行。运行以上代码,执行顺序如图3.5所示。图3.5执行顺序3.6static关键字6.静态导入静态导入是Java中一种导入静态成员(如静态属性、静态方法)的机制,允许在代码中直接使用成员名,而无须使用类名前缀。该机制的主要优点是提高了代码的简洁性和可读性,但须注意避免命名冲突和过度使用。importstaticjava.lang.Math.*;publicclassMathDemo{publicstaticvoidmain(String[]args){doubleresult=sqrt(25);//使用静态导入直接调用sqrt()方法
}}静态导入与非静态导入的区别:静态导入用于导入类或接口中的静态成员,非静态导入用于导入类或接口。静态导入可以降低代码的冗余度,尤其是在频繁使用某个静态成员的时候,但是过度使用静态导入可能会使得代码的可读性下降。目录导航3.1面向对象的概念3.2类与对象3.3类的构造方法3.4方法重载3.5
this关键字3.6
static关键字3.7
import关键字3.8【商业实例】“银行提款机”项目——使用面向对象的思想改造3.9【综合实训】定义一个汽车类3.7import关键字在Java中,import关键字用于导入其他包中的类、接口或静态成员,以便在当前类中可以直接使用它们,而不需要使用完整的限定类名(包括包名)。import关键字有助于简化代码并提高代码的可读性。1.import使用语法import后边跟的是包名+类名,以
为包名、ClassName为类名的import使用示例如下。import.ClassName;2.导入类使用import关键字,可以导入其他包中的特定类或接口,以便在当前类中使用它们。示例如下。importjava.util.ArrayList;3.7import关键字3.导入包使用通配符(*)可以导入整个包中的所有类和接口。示例如下。importjava.util.*;4.静态导入除了导入类和接口,还可以使用静态导入来导入其他包中的静态成员(静态属性和静态方法)。示例如下。importstaticjava.lang.Math.*;添加以上代码后,可以在当前类中直接使用Math类的静态成员,如sqrt()和PI,而无须使用Math.前缀。3.7import关键字5.导入的限定性如果两个包中的类具有相同的名称,则可以使用import关键字为它们指定不同的别名,以避免出现冲突。示例如下。importcom.example.myapp.ClassA;importcom.anotherpackage.ClassAasAnotherClassA;6.默认导入有些类不需要显式导入,因为它们属于Java的默认导入列表,如java.lang包中的String和System类。使用导入语句可以使代码更简洁、易读,并减少了类名的重复输入。然而,过度使用通配符(*)和静态导入可能会导致命名冲突与代码的可读性下降,因此需要谨慎使用它们。添加以上代码后,可以使用ClassA和AnotherClassA来引用两个不同包中的ClassA。目录导航3.1面向对象的概念3.2类与对象3.3类的构造方法3.4方法重载3.5
this关键字3.6
static关键字3.7
import关键字3.8【商业实例】“银行提款机”项目——使用面向对象的思想改造3.9【综合实训】定义一个汽车类【商业实例】“银行提款机”项目——使用面向对象的思想改造任务1:定义Bank对象publicclassBank{/**
*余额
*/privatedoublebalance;}定义一个Bank对象,对象中包含一个余额(balance)属性。【商业实例】“银行提款机”项目——使用面向对象的思想改造任务2:定义存款、取款方法
/**
*存款增加余额
*/publicvoidrecharge(doubleva
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保险公估人风险评估与管理能力考核试卷含答案
- 纺织面料设计师安全生产基础知识能力考核试卷含答案
- 水生哺乳动物驯养员安全文明模拟考核试卷含答案
- 中药材生产技术员岗中实操知识水平考核试卷含答案
- 导猎员操作模拟考核试卷含答案
- 钢筋骨架工岗前基础操作考核试卷含答案
- 公墓管理员岗位专业水平考核试卷含答案
- 压榨机工技术落地竞赛考核试卷含答案
- 化工吸附工管理综合竞赛考核试卷含答案
- 糕点面包烘焙工岗前记录考核试卷含答案
- 胸痹常用中医护理技术详解
- 《方法系统论》教材
- 湖南钢铁集团秋招面试题及答案
- 《再生工业盐 氯化钠(征求意见稿)》
- 20220902 葛洲坝集团路桥公司恩施至广元国家高速公路万州至开江段B合同段桥梁工程专项风险评估报(苎溪河特大桥)附专家评审意见及执行情况 B标
- (2026年)肾功能不全患者护理课件
- 2025至2030中国网络视听行业市场现状供需分析及投资回报评估研究报告
- 2025年东台市网格员招聘考试真题
- 技术支持转正述职报告
- RPA技术分享教学课件
- 慢性心力衰竭合并慢性肾脏病患者容量管理方案
评论
0/150
提交评论