版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章面向对象(下)1
第六章面向对象(下)1主要内容this与super构造方法的多态与继承抽象类与接口引用类的其他相关内容2主要内容this与super26.1this与super6.1.1this的用法this指代当前对象this()this.成员变量this.成员方法this当参数传递给其他方法【例6.1】36.1this与super6.1.1this的用法【例6.1.2supersuper引用当前对象继承自父类的成员super.数据成员super.成员方法super()46.1.2supersuper引用当前对象继承自父类的成员classPerson{intage;intheight;voideat(){}voidsleep(){}Person(){}}classStudentextendsPerson{intscore;Student(){}voidstudy(){}}this可引用的范围Person()Studentscorestudy()Student()
ageheighteat()sleep()super可引用的范围5classPerson{this可引用的范围Perso运行结果如下:x=4y=1classname:Ax=5y=1classname:AAIamanAAz=10x=6super.x=5y=1super.y=1【例6.2】Ax=4;y=1Void
Printme(){}AAx=4;y=1xVoidPrintme(){}intz=super.x+6;super.x=5super.Printme();System.out.println("Iaman"+this.getClass().getName());
。。。。。。x=4在子类对象中隐藏此处调用的是父类代码及对应的父类对象中的属性成员。6运行结果如下:x=4y=1【例6.2】Ax=4;y=1Vo6.2构造函数的多态和继承一个类可以定义多个构造函数,构造函数之间用this()相互调用构造函数不能被继承,可以在子类构造函数中用super()调用父类构造函数【例6.3】【例6.4】76.2构造函数的多态和继承一个类可以定义多个构造函数,构造6.3抽象类6.3.1抽象类的定义用abstract修饰的类称为抽象类,用abstract修饰的成员方法称为抽象方法。对于抽象方法,在抽象类中只指定方法名及类型,而不写实现代码。86.3抽象类6.3.1抽象类的定义8[public]abstractclass类名[extends父类名列表]{//数据成员声明//抽象方法声明[public][abstract]返回值方法名(参数列表)[throw异常列表]}【例6.5】9[public]abstractclass类名[ex抽象类中可以有零个或多个抽象方法,也可以包含非抽象方法。只要有一个抽象方法,类前就必须有abstract修饰。若没有抽象方法,类前也可有abstract修饰。10抽象类中可以有零个或多个抽象方法,也可以包含非抽象方法。1抽象类不能创建对象,创建对象由具体子类来实现,但可以有声明,声明能引用所有具体子类的对象。11抽象类不能创建对象,创建对象由具体子类来实现,但可以有声明抽象类必定要派生子类,若派生的子类是具体类,则具体子类中必须实现抽象类中定义的所有抽象方法(覆盖);若子类还是抽象类,父类中已有的abstract方法,则子类中就不能再有。12抽象类必定要派生子类,若派生的子类是具体类,则具体子类中必在抽象类中,非抽象方法可以调用抽象方法。abstract不能与final并列修饰同一个类;abstract不能与private,static,final或native并列修饰同一个方法;abstract类中不能有private成员13在抽象类中,非抽象方法可以调用抽象方法。136.3.2抽象类的产生过程抽象类形成的思维过程:客观事物—>对象—>类—>抽象类。如:矩形、三角形、圆形类的属性和方法如图:(x,y)(x,y)widthheightrxyzwidthheight(x’,y’)146.3.2抽象类的产生过程抽象类形成的思维过程:客观事物—对以上三类进行抽象:图6-415对以上三类进行抽象:图6-4156.3.3抽象类在继承方面的应用【例6.6】简化子类定义明晰类的层次关系166.3.3抽象类在继承方面的应用【例6.6】简化子类定义16.3.4引用具体子类对象【例6.7】176.3.4引用具体子类对象【例6.7】176.3.5抽象类设计注意事项抽取同类对象的共同行为包含对象的本质尽可能简单186.3.5抽象类设计注意事项抽取同类对象的共同行为186.4接口(interface)接口的两种含义:可以被引用调用的方法(public方法或同包中的protected方法或默认方法);另一种是同“类”概念地位相当的专有概念interface,interface是方法说明的集合。196.4接口(interface)接口的两种含义:19interface声明格式[public]interface接口名[extends父接口名列表]{//静态常量数据成员声明[public][static][final]域类型域名=常量值//抽象方法声明[public][abstract]返回值方法名(参数列表)[throw异常列表]}20interface声明格式[public]inter定义接口要注意几点接口定义用关键字interface,而不是用class,interface前的修饰符要么为public,要么为缺省。接口具有继承性,可通过extends关键字声明接口的父接口。21定义接口要注意几点接口定义用关键字interface,而不接口定义的数据成员全是finalstatic(静态常量)。即使没有修饰符,其效果也等效,访问级别要么为public,要么为缺省。22接口定义的数据成员全是finalstatic(静态常量接口中没有构造方法;所有成员方法都是抽象方法(与抽象类有所不同)。即使没有修饰符,其效果完全等效,访问级别要么为public,要么为缺省。注:方法前不能修饰为final。23接口中没有构造方法;所有成员方法都是抽象方法(与抽象类有所6.4.2接口的角色接口扮演将实现者和使用者有机联系到一起的角色。246.4.2接口的角色接口扮演将实现者和使用者有机联系到一6.4.3接口实现与使用给接口中的方法定义具体的操作就是接口的实现在类的声明中用implements子句来表示一个类实现了某个接口。256.4.3接口实现与使用给接口中的方法定义具体的操作就是接接口实现要注意几点一个类可以实现多个接口,在implements后用逗号隔开多个接口的名字。一个接口也可被多个类来实现。接口的实现者可以继承接口中定义的常量,其效果等效于在这个实现类当中定义了一个静态常量。26接口实现要注意几点一个类可以实现多个接口,在impleme如果实现某接口的类不是abstract的抽象类,则类必须实现接口的所有抽象方法,而且方法头部分应该与接口中的定义完全一致。如果实现接口的类是abstract类,则它可以不实现该接口的所有方法。27如果实现某接口的类不是abstract的抽象类,则类必须实接口的抽象方法的访问限制符只能为缺省或public,类在实现方法时,必须显式使用public修饰符,否则将被警告为缩小了接口中定义的方法的访问控制范围。【例6.8】28接口的抽象方法的访问限制符只能为缺省或public,类在实6.5抽象类与接口抽象类接口共同点二者都可具有抽象方法,都不能实例化,但都可以有自己的声明,并能引用子类或实现类对象。不同点属性变量可以有变量不能有,只能是静态常量。成员方法可以有具体方法(而且具体方法可以调用抽象方法)。如果有方法,则全部是抽象方法。实现策略必须有子类继承必须有实现类实现扩展性弱强296.5抽象类与接口抽象类接口共同点二者都可具有抽6.6引用引用如何形成:先声明,后赋予对象,成为引用。抽象类声明进行引用有什么特点?抽象类引用可以指向所有具体子类对象,此概念可以推广到所有具有父子关系的类,以及接口和实现类306.6引用引用如何形成:先声明,后赋予对象,成为引用。3引用可以替换吗?替换是有原则的:父类引用可以指向子类对象,子类声明不能引用平行级别的其它类的对象,也不能引用父类对象。31引用可以替换吗?31父类声明和子类声明引用同一个子类对象有什么区别?父类声明是从父类的角度去引用对象,子类声明是从子类角度引用对象。父类引用子类对象时,可以经过显式的转化赋给子类的声明,但子类的引用赋值给父类的声明则不需要。32父类声明和子类声明引用同一个子类对象有什么区别?32接口声明进行引用有什么特点?只能引用实现类对象的接口方法。33接口声明进行引用有什么特点?336.7类的其它相关内容6.7.1类的初始化构造方法声明时初始化静态块实例块
346.7类的其它相关内容6.7.1类的初始化34静态块classA{static{….}//静态块}静态块在类被加载到内存时被执行非静态成员变量不能在静态块中使用静态块主要用来初始化静态变量及静态方法35静态块classA{35classOuter{staticinta=10;static{System.out.println(“Hi~~”);a=30;}Outer(){System.out.println(“创建对象”);}publicstaticvoidmain(String[]args){Outerouter=newOuter();System.out.println(“Hello”);System.out.println(a);}}36classOuter{36实例块classA{{….}//实例块}实例块在创建类的实例对象时被执行实例块先于构造函数执行37实例块classA{37classOuter{inta;{System.out.println(“实例块”);a=30;}publicOuter(inta){System.out.println(“构造函数”);this.a=a;}publicstaticvoidmain(String[]args){Outerouter=newOuter(10)System.out.println(outer.a);}}38classOuter{386.7.2内部类(InnerClass)
在一个类的内部嵌套定义的另一个类,称为内部类。包含内部类的类称为外部类。
396.7.2内部类(InnerClass)39定义内部类与普通类定义基本相同内部类如果定义在外部类成员的位置,可看作外部类的成员,能被protected或private修饰内部类定义在方法内,则不能被任何修饰符修饰40定义内部类与普通类定义基本相同40种类说明成员类作为类的成员而存在于某个类的内部静态类作为类的静态成员而存在于某个类的内部匿名类存在某个类内部,但无名称的类局部类存在某个方法内部的类41种类说明成员类作为类的成员而存在于某个类的内部静态类作为成员类(memberclass)成员类形式如下:classOuter{classInner{}}42成员类(memberclass)成员类形式如下:42Inner类可以引用Outer类的所有成员,包括被private修饰的classOuter{privateinta=10;voidf(){…}classInner{intd=a;f();}}43Inner类可以引用Outer类的所有成员,包括被privaOuter类与Inner类成员重名时,利用关键字this引用成员44Outer类与Inner类成员重名时,利用关键字this引用classOuter{inta;classInner{inta=20;voidf(){inta=10;
System.out.println(a);
System.out.println(this.a);
System.out.println(Outer.this.a);}}}45classOuter{45成员类的成员不能为static成员,但允许静态常量存在classOuter{classInner{inta;//可以voidf(){…}//可以staticfinalintb=10;//可以staticintc;//错误staticvoidg(){….}//错误}}46成员类的成员不能为static成员,但允许静态常量存在46只有创建了Outer类对象之后,才能创建Inner类对象,才能使用Inner类的成员Outerout=newOuter();Outer.Innerin=out.newInner();【例6.9】47只有创建了Outer类对象之后,才能创建Inner类对象,才静态类(staticclass)静态类形式如下:classOuter{
staticclassInner{}}48静态类(staticclass)静态类形式如下:48静态类Inner只能引用Outer类的static成员,不能引用普通成员classOuter{staticinta=10;voidf(){…}
staticclassInner{intd=a;//static变量f();//不能引用普通方法}}49静态类Inner只能引用Outer类的static成员,不能Inner类作为Outer类的静态成员,可以在不创建Outer类对象的条件下,直接创建Inner类对象Outer.Innerin=newOuter.Inner();【例6.10】50Inner类作为Outer类的静态成员,可以在不创建Oute局部类(localclass)局部类形式如下:voidf(){classInner{}}51局部类(localclass)局部类形式如下:51局部类与局部变量类似,仅在方法内部才可以创建对象,一旦方法执行完毕,就会释放内存而消亡。52局部类与局部变量类似,仅在方法内部才可以创建对象,一旦方法执局部类可以引用包含自身的类的所有成员classOuter{inta=10;voidf(){classInner{System.out.println(a);}}}53局部类可以引用包含自身的类的所有成员53局部类只能引用方法体内的常量,不能访问方法体内的局部变量
classOuter{voidf(finalinta,intb){intc=10;finalintd=40;classInner{System.out.println(a);System.out.println(b);//错误System.out.println(d);}}【例6.11】54局部类只能引用方法体内的常量,不能访问方法体内的局部变量【例匿名类(anonymousclass)没有类名的内部类就是匿名类。用一条语句完成匿名类的定义与实例创建。格式一:classA{}new类A(){//定义类且创建对象方法体}此时产生的对象是类A的子类对象【例6.12】55匿名类(anonymousclass)没有类名的内部类就格式二:InterfaceA{}new接口A(){方法体}此时产生的对象是接口A的实现类。【例6.13】56格式二:【例6.13】56匿名内部类的使用原则匿名内部类不能有构造方法不能定义任何静态成员、方法不能被public、protected、private、static修饰只能创建一个实例57匿名内部类的使用原则576.7.4匿名对象匿名对象就是在产生对象时没有显式地为这个对象建立引用。Personp1=newPerson();p1.shout();改为newPerson().shout();【例6.14】586.7.4匿名对象匿名对象就是在产生对象时没有显式匿名对象在两种情况下经常使用:如果对一个对象只需要进行一次方法调用。将匿名对象作为参数传递给一个函数调用。59匿名对象在两种情况下经常使用:596.7.5类对象在java.lang包中有一个特殊的类——Class(注:同关键字class区别的地方是首字母大写),它也继承Object类。606.7.5类对象在java.lang包中有一个特殊的类——通过调用对象方法getClass而得到Class对象,进而我们可以知道类的相关的一些特性,如:类的名称、类的包、类的方法、类的父类等。【例6.15】61通过调用对象方法getClass而得到Class对象,进而我小结 本章深入介绍了Java面向对象的一些概念。重点内容是引用,因为Java中的封装、继承、多态、抽象类、接口等概念都和引用有关。62小结 本章深入介绍了Java面向对象的一些概念。重点
第六章面向对象(下)63
第六章面向对象(下)1主要内容this与super构造方法的多态与继承抽象类与接口引用类的其他相关内容64主要内容this与super26.1this与super6.1.1this的用法this指代当前对象this()this.成员变量this.成员方法this当参数传递给其他方法【例6.1】656.1this与super6.1.1this的用法【例6.1.2supersuper引用当前对象继承自父类的成员super.数据成员super.成员方法super()666.1.2supersuper引用当前对象继承自父类的成员classPerson{intage;intheight;voideat(){}voidsleep(){}Person(){}}classStudentextendsPerson{intscore;Student(){}voidstudy(){}}this可引用的范围Person()Studentscorestudy()Student()
ageheighteat()sleep()super可引用的范围67classPerson{this可引用的范围Perso运行结果如下:x=4y=1classname:Ax=5y=1classname:AAIamanAAz=10x=6super.x=5y=1super.y=1【例6.2】Ax=4;y=1Void
Printme(){}AAx=4;y=1xVoidPrintme(){}intz=super.x+6;super.x=5super.Printme();System.out.println("Iaman"+this.getClass().getName());
。。。。。。x=4在子类对象中隐藏此处调用的是父类代码及对应的父类对象中的属性成员。68运行结果如下:x=4y=1【例6.2】Ax=4;y=1Vo6.2构造函数的多态和继承一个类可以定义多个构造函数,构造函数之间用this()相互调用构造函数不能被继承,可以在子类构造函数中用super()调用父类构造函数【例6.3】【例6.4】696.2构造函数的多态和继承一个类可以定义多个构造函数,构造6.3抽象类6.3.1抽象类的定义用abstract修饰的类称为抽象类,用abstract修饰的成员方法称为抽象方法。对于抽象方法,在抽象类中只指定方法名及类型,而不写实现代码。706.3抽象类6.3.1抽象类的定义8[public]abstractclass类名[extends父类名列表]{//数据成员声明//抽象方法声明[public][abstract]返回值方法名(参数列表)[throw异常列表]}【例6.5】71[public]abstractclass类名[ex抽象类中可以有零个或多个抽象方法,也可以包含非抽象方法。只要有一个抽象方法,类前就必须有abstract修饰。若没有抽象方法,类前也可有abstract修饰。72抽象类中可以有零个或多个抽象方法,也可以包含非抽象方法。1抽象类不能创建对象,创建对象由具体子类来实现,但可以有声明,声明能引用所有具体子类的对象。73抽象类不能创建对象,创建对象由具体子类来实现,但可以有声明抽象类必定要派生子类,若派生的子类是具体类,则具体子类中必须实现抽象类中定义的所有抽象方法(覆盖);若子类还是抽象类,父类中已有的abstract方法,则子类中就不能再有。74抽象类必定要派生子类,若派生的子类是具体类,则具体子类中必在抽象类中,非抽象方法可以调用抽象方法。abstract不能与final并列修饰同一个类;abstract不能与private,static,final或native并列修饰同一个方法;abstract类中不能有private成员75在抽象类中,非抽象方法可以调用抽象方法。136.3.2抽象类的产生过程抽象类形成的思维过程:客观事物—>对象—>类—>抽象类。如:矩形、三角形、圆形类的属性和方法如图:(x,y)(x,y)widthheightrxyzwidthheight(x’,y’)766.3.2抽象类的产生过程抽象类形成的思维过程:客观事物—对以上三类进行抽象:图6-477对以上三类进行抽象:图6-4156.3.3抽象类在继承方面的应用【例6.6】简化子类定义明晰类的层次关系786.3.3抽象类在继承方面的应用【例6.6】简化子类定义16.3.4引用具体子类对象【例6.7】796.3.4引用具体子类对象【例6.7】176.3.5抽象类设计注意事项抽取同类对象的共同行为包含对象的本质尽可能简单806.3.5抽象类设计注意事项抽取同类对象的共同行为186.4接口(interface)接口的两种含义:可以被引用调用的方法(public方法或同包中的protected方法或默认方法);另一种是同“类”概念地位相当的专有概念interface,interface是方法说明的集合。816.4接口(interface)接口的两种含义:19interface声明格式[public]interface接口名[extends父接口名列表]{//静态常量数据成员声明[public][static][final]域类型域名=常量值//抽象方法声明[public][abstract]返回值方法名(参数列表)[throw异常列表]}82interface声明格式[public]inter定义接口要注意几点接口定义用关键字interface,而不是用class,interface前的修饰符要么为public,要么为缺省。接口具有继承性,可通过extends关键字声明接口的父接口。83定义接口要注意几点接口定义用关键字interface,而不接口定义的数据成员全是finalstatic(静态常量)。即使没有修饰符,其效果也等效,访问级别要么为public,要么为缺省。84接口定义的数据成员全是finalstatic(静态常量接口中没有构造方法;所有成员方法都是抽象方法(与抽象类有所不同)。即使没有修饰符,其效果完全等效,访问级别要么为public,要么为缺省。注:方法前不能修饰为final。85接口中没有构造方法;所有成员方法都是抽象方法(与抽象类有所6.4.2接口的角色接口扮演将实现者和使用者有机联系到一起的角色。866.4.2接口的角色接口扮演将实现者和使用者有机联系到一6.4.3接口实现与使用给接口中的方法定义具体的操作就是接口的实现在类的声明中用implements子句来表示一个类实现了某个接口。876.4.3接口实现与使用给接口中的方法定义具体的操作就是接接口实现要注意几点一个类可以实现多个接口,在implements后用逗号隔开多个接口的名字。一个接口也可被多个类来实现。接口的实现者可以继承接口中定义的常量,其效果等效于在这个实现类当中定义了一个静态常量。88接口实现要注意几点一个类可以实现多个接口,在impleme如果实现某接口的类不是abstract的抽象类,则类必须实现接口的所有抽象方法,而且方法头部分应该与接口中的定义完全一致。如果实现接口的类是abstract类,则它可以不实现该接口的所有方法。89如果实现某接口的类不是abstract的抽象类,则类必须实接口的抽象方法的访问限制符只能为缺省或public,类在实现方法时,必须显式使用public修饰符,否则将被警告为缩小了接口中定义的方法的访问控制范围。【例6.8】90接口的抽象方法的访问限制符只能为缺省或public,类在实6.5抽象类与接口抽象类接口共同点二者都可具有抽象方法,都不能实例化,但都可以有自己的声明,并能引用子类或实现类对象。不同点属性变量可以有变量不能有,只能是静态常量。成员方法可以有具体方法(而且具体方法可以调用抽象方法)。如果有方法,则全部是抽象方法。实现策略必须有子类继承必须有实现类实现扩展性弱强916.5抽象类与接口抽象类接口共同点二者都可具有抽6.6引用引用如何形成:先声明,后赋予对象,成为引用。抽象类声明进行引用有什么特点?抽象类引用可以指向所有具体子类对象,此概念可以推广到所有具有父子关系的类,以及接口和实现类926.6引用引用如何形成:先声明,后赋予对象,成为引用。3引用可以替换吗?替换是有原则的:父类引用可以指向子类对象,子类声明不能引用平行级别的其它类的对象,也不能引用父类对象。93引用可以替换吗?31父类声明和子类声明引用同一个子类对象有什么区别?父类声明是从父类的角度去引用对象,子类声明是从子类角度引用对象。父类引用子类对象时,可以经过显式的转化赋给子类的声明,但子类的引用赋值给父类的声明则不需要。94父类声明和子类声明引用同一个子类对象有什么区别?32接口声明进行引用有什么特点?只能引用实现类对象的接口方法。95接口声明进行引用有什么特点?336.7类的其它相关内容6.7.1类的初始化构造方法声明时初始化静态块实例块
966.7类的其它相关内容6.7.1类的初始化34静态块classA{static{….}//静态块}静态块在类被加载到内存时被执行非静态成员变量不能在静态块中使用静态块主要用来初始化静态变量及静态方法97静态块classA{35classOuter{staticinta=10;static{System.out.println(“Hi~~”);a=30;}Outer(){System.out.println(“创建对象”);}publicstaticvoidmain(String[]args){Outerouter=newOuter();System.out.println(“Hello”);System.out.println(a);}}98classOuter{36实例块classA{{….}//实例块}实例块在创建类的实例对象时被执行实例块先于构造函数执行99实例块classA{37classOuter{inta;{System.out.println(“实例块”);a=30;}publicOuter(inta){System.out.println(“构造函数”);this.a=a;}publicstaticvoidmain(String[]args){Outerouter=newOuter(10)System.out.println(outer.a);}}100classOuter{386.7.2内部类(InnerClass)
在一个类的内部嵌套定义的另一个类,称为内部类。包含内部类的类称为外部类。
1016.7.2内部类(InnerClass)39定义内部类与普通类定义基本相同内部类如果定义在外部类成员的位置,可看作外部类的成员,能被protected或private修饰内部类定义在方法内,则不能被任何修饰符修饰102定义内部类与普通类定义基本相同40种类说明成员类作为类的成员而存在于某个类的内部静态类作为类的静态成员而存在于某个类的内部匿名类存在某个类内部,但无名称的类局部类存在某个方法内部的类103种类说明成员类作为类的成员而存在于某个类的内部静态类作为成员类(memberclass)成员类形式如下:classOuter{classInner{}}104成员类(memberclass)成员类形式如下:42Inner类可以引用Outer类的所有成员,包括被private修饰的classOuter{privateinta=10;voidf(){…}classInner{intd=a;f();}}105Inner类可以引用Outer类的所有成员,包括被privaOuter类与Inner类成员重名时,利用关键字this引用成员106Outer类与Inner类成员重名时,利用关键字this引用classOuter{inta;classInner{inta=20;voidf(){inta=10;
System.out.println(a);
System.out.println(this.a);
System.out.println(Outer.this.a);}}}107classOuter{45成员类的成员不能为static成员,但允许静态常量存在classOuter{classInner{inta;//可以voidf(){…}//可以staticfinalintb=10;//可以staticintc;//错误staticvoidg(){….}//错误}}108成员类的成员不能为static成员,但允许静态常量存在46只有创建了Outer类对象之后,才能创建Inner类对象,才能使用Inner类的成员Outerout=newOuter();Outer.Innerin=out.newInner();【例6.9】109只有创建了Outer类对象之后,才能创建Inner类对象,才静态类(staticclass)静态类形式如下:classOuter{
staticclassInner{}}110静态类(staticclass)静态类形式如下:48静态类Inner只能引用Outer类的static成员,不能引用普通成员classOuter{staticinta=10;voidf(){…}
staticclassInner{intd=a;//static变量f();//不能引用普通方法}}111静态类Inner只能引用Outer类的static成员,不能Inner类作为Outer类的静态成员,可以在不创建Outer类对象的条件下,直接创建Inner类对象Outer.Innerin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云计算环境下的网络安全运维服务合同
- 意大利从属工作居住合同(2篇)
- 挂靠经营合同(2篇)
- 城市道路沥青路面改造方案
- 科技类课程学情分析方案
- 2024年公寓物业买卖合同
- 军事院校思想政治教育主题党日活动方案
- 养老院室内装修工程实施方案
- 食余残渣脱水装置市场分析及投资价值研究报告
- 2024年健身营养咨询服务合同
- 山东联通公司招聘笔试题
- 2024年新智认知数字科技股份有限公司招聘笔试参考题库含答案解析
- 金属探测器检测记录
- 安全教育记录范文(25篇)
- 2024年供应链管理竞赛考试题库
- 三年级语文下册第二单元群文阅读教学设计
- 习思想教材配套练习题 第七章 社会主义现代化建设的教育、科技、人才战略
- led显示屏工艺流程
- 建设项目设计管理方案
- 第13课《警惕可怕的狂犬病》 课件
- 仓库货物条码管理培训
评论
0/150
提交评论