第三Java语言中面向对象特性_第1页
第三Java语言中面向对象特性_第2页
第三Java语言中面向对象特性_第3页
第三Java语言中面向对象特性_第4页
第三Java语言中面向对象特性_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1Java语言中面向对象特性语言中面向对象特性第三章2目标 掌握如何创建类和构造对象 掌握方法的重载和覆盖 了解类的继承 了解包概念第三章 Java语言中面向对象特性3【难难 重重 点点】 w 重点:重点: 1仔细体会面向对象编程的思想,熟练理 解类和对象的概念,理解面向对象的特性,会编写简单的类,逐渐掌握面向对象编程的方法。2注意java语言中,不允许多重继承,以及类变量和类方法的使用。w 难点:难点:1理解方法重载和方法重写,不要混淆了两者的使用。2类变量和类方法的使用。3接口的使用。第三章 Java语言中面向对象特性4软件开发活动w 需求分析需求分析对待开发的软件提出的需求进行对待开发的

2、软件提出的需求进行分析分析并给并给出详细的出详细的定义定义并对其加以确切的并对其加以确切的描述描述,然后编写出软,然后编写出软件需求件需求说明书说明书。w 系统设计系统设计设计人员把已确定的各项设计人员把已确定的各项需求需求转换成相应转换成相应的体系的体系结构结构。w 系统实现系统实现把软件设计转换成计算机可以接受的程序把软件设计转换成计算机可以接受的程序代码,并在实际环境中得以实现。代码,并在实际环境中得以实现。w 软件测试软件测试保证软件质量的重要手段,贯穿于软件生保证软件质量的重要手段,贯穿于软件生命周期的各个阶段。命周期的各个阶段。w 运行和维护运行和维护软件在运行的过程中由于多方面的

3、原因软件在运行的过程中由于多方面的原因对其进行的修改。对其进行的修改。5面向对象的产生w 计算机适应人类的思维方式w 当前是需要开发巨大程序的时代,比起程序的速度和大小来,进行访问控制时的可读性(Readability)变得更为重要。w 几个人同时进行操作时,各程序员操作部分的可信赖性(Reliability)也变得非常重要。w 每次都要重新编译程序代码也变得不可能,如今,对于能在多大程度上再利用(Reusability)过去的代码的研究变成了重要的问题。 63.1 面向对象的基本概念第三章 Java语言中面向对象特性w 面向对象(object-oriented)的基本思想是,从现实世界中客观

4、存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类的的自然思维方式。w 面向对象更加强调运用人类在日常的思维逻辑中经常采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。7什么是对象什么是对象? w 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。w 一个对象由一组属性和对这组属性进行操作的一组服务组成。w 从更抽象的角度来说,它是一组属性和有权对这些属性进行操作的一组服务的封装体。w 客观世界是由对象和对象之间的联系组成的。 第三章 Java语言中面向对象特性8什么是对象什么是对象?w 对象具有两方面的含义:变量变量方法方法第三章 Java语言中面向对象特性

5、9什么是类?现实生活中的对象例如每辆汽车都是一个不例如每辆汽车都是一个不同的对象。但是多个对象同的对象。但是多个对象常常具有一些共性,如所常常具有一些共性,如所有的汽车都有轮子、方向有的汽车都有轮子、方向盘、刹车装置等。于是我盘、刹车装置等。于是我们抽象出一类对象的们抽象出一类对象的共性共性,这就是类。这就是类。Class Car int color_number; int door_number; int speed; void brake() void speedUp() void slowDown() 抽象数据类型第三章 Java语言中面向对象特性10汽车设计图纸第三章 Java语言中面

6、向对象特性什么是类?11类和对象 类是具有共同属性和行为的对象的抽象。 类可以定义为数据和方法的集合。 类也称为模板,因为它们提供了对象的基本框架。类对象抽象抽象实例化实例化属性或状态属性或状态操作或行为操作或行为数据或变量数据或变量方法方法封装的实体封装的实体=数据数据+方方法法第三章 Java语言中面向对象特性123.2 面向对象的基本特征 1封装性2继承性3多态性第三章 Java语言中面向对象特性 所有面向对象的编程语言都提供帮助你实现所有面向对象的编程语言都提供帮助你实现面向对象模型的机制面向对象模型的机制:133.3 java3.3 java 中的对象、类、包中的对象、类、包第三章

7、Java语言中面向对象特性q 对象和引用对象和引用q Java 类(成员变量和方法)的定义类(成员变量和方法)的定义q 方法的参数传递方法的参数传递q 构造方法构造方法q this 关键字关键字q static 关键字关键字q package 和和 import 语句语句 q 访问控制访问控制q main()方法()方法14类和对象(类和对象(object)w 对象对象是是Java程序的核心,在程序的核心,在Java程序中程序中万事万物皆万事万物皆对象对象。w 对象可以看成是对象可以看成是静态属性静态属性(成员变量)(成员变量)和和动态属性动态属性(方法)(方法)的封装体。的封装体。w 类类是

8、用来创建同一类型的对象的是用来创建同一类型的对象的模板模板,在一个类,在一个类中定义了该类对象所应具有的中定义了该类对象所应具有的成员变量成员变量以及以及方法方法。w 一个一个Java程序程序可以看成是一系列可以看成是一系列对象对象的的创建创建以及它以及它们之间的们之间的消息通讯。消息通讯。w Java提供了很多类供编程人员使用,编程人员也可提供了很多类供编程人员使用,编程人员也可定义自己的类。定义自己的类。第三章 Java语言中面向对象特性15对象的创建对象的生成包括声明、实例化和初始化w 类名 对象名 = new 类名( );w Person zhangsan = new Person(

9、);第三章 Java语言中面向对象特性16引引 用(用(reference)w Java 语言中除基本类型之外的变量类型都称之为语言中除基本类型之外的变量类型都称之为引用类型引用类型。w Java中的对象是通过中的对象是通过引用引用对其操作的。对其操作的。w 对象对象好像是电视机,好像是电视机,引用引用是遥控器。是遥控器。w 例如:例如: String s;w / 声明了一个声明了一个String类型的类型的引用引用变量,变量,w / 但并没有使它指向一个对象但并没有使它指向一个对象w s = new String(hello world! );w / 使用使用new语句创建了一个语句创建了一

10、个String类型的对象并用类型的对象并用s指向它指向它w / 以后可以通过以后可以通过s完成对其的操作完成对其的操作第三章 Java语言中面向对象特性17引引 用(用(reference)String s;nulls = new String(hello world!);0 x3a123b 0 x3a123b堆内存堆内存null栈内存栈内存第三章 Java语言中面向对象特性18第三章 Java语言中面向对象特性Java 类的定义类的定义类的定义主要有两方面组成类的定义主要有两方面组成成员变量(成员变量(member variable) -方法(方法(method)。两者可以同时出现在类中,可

11、以都没有,或者只有其一。两者可以同时出现在类中,可以都没有,或者只有其一。声明声明成员变量成员变量的格式为:的格式为: type =defaultValue ; 例如:例如: private int id; int price = 20;声明声明方法方法的格式为:的格式为: () 例如:例如: public int getPrice ( ) return price; 19Java 类的定义类的定义用用 class 关键字定义一个类,例如:关键字定义一个类,例如:class Book /成员变量定义成员变量定义 int id; int price = 20; /方法定义方法定义 int get

12、Price () return price; void setPrice (int i) price = i; 第三章 Java语言中面向对象特性20类的规范 建议:w 一般不要简写,不要怕名字长,见名知意w 类名每个单词的开始字母大写; MyDog Person Catw 成员变量和方法名称,第一个单词小写以后的每个单词首字母大写。 如:setPrice getPrice getMotherName w 成员变量和方法,没有严格的顺序,但是一般成员变量在前,方法在后。w 类名和方法名与 ”之间要有一个空格w 方法与方法,方法与成员变量,之间要有空行;w 一般情况下,一个java文件一个类,多

13、个类时只能有一个public类型的。 第三章 Java语言中面向对象特性21成员变量(成员变量(member variable)w 成员变量成员变量是类的是类的静态属性静态属性w 成员变量成员变量可以是可以是Java语言中任何一种数据类型(包括基本类型语言中任何一种数据类型(包括基本类型和引用类型)。和引用类型)。w 在定义在定义成员变量成员变量时可以对其初始化,如果不对其初始化,时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。使用默认的值对其初始化。w 成员变量成员变量的作用范围至少为整个的作用范围至少为整个类体类体。w 成员变量的外部调用成员变量的外部调用 对象引用对象

14、引用.成员变量成员变量w 成员变量的内部调用成员变量的内部调用 成员变量成员变量第三章 Java语言中面向对象特性22成员变量的默认初始化成员变量的默认初始化 成员变量按下表取默认的初始化值成员变量按下表取默认的初始化值成员变量类型成员变量类型 取值取值 byte0 short0int 0long0Lcharu0000 float0.0F double0.0D booleanfalse 所有引用类型所有引用类型null 第三章 Java语言中面向对象特性23成员变量的外部调用w /注意:Book类和Test放在同一个文件夹,先编译Book,再编译Test,因为Test要使用Book类w pub

15、lic class Test w public static void main(String args) w Book java = new Book();w /引用.成员变量w int i = java.id;w java.price = 50;w System.out.println(java.price);w w 第三章 Java语言中面向对象特性class Book int id; int price = 20; int getPrice () return price; void setPrice (int i) price = i; 24方方 法(法(method)w Java语

16、言的语言的方法方法类似于其它语言的类似于其它语言的方法方法或或过程过程,是一,是一段用来完成特定功能的代码片段,其一般格式如下:段用来完成特定功能的代码片段,其一般格式如下: 修饰符修饰符1 修饰符修饰符2 返回值类型返回值类型 方法名方法名(形式参数列表形式参数列表)Java语句语句; w 方法方法是类的是类的动态性能动态性能,描述了该类事物所共有的功能,描述了该类事物所共有的功能或行为。或行为。第三章 Java语言中面向对象特性25方方 法(法(method)w 形式参数:形式参数:在方法被调用时用于接收外界输入的数据在方法被调用时用于接收外界输入的数据。w 实参:实参:调用方法时实际传给

17、方法的数据。调用方法时实际传给方法的数据。w 返回值返回值:(return)方法在执行完毕后方法在执行完毕后返还返还给调用它的环境的数据。给调用它的环境的数据。return后面可接表达式。后面可接表达式。w 返回值类型:返回值类型:事先事先约定约定的返回值的数据类型,如无返回值,在的返回值的数据类型,如无返回值,在Java中也必须给出返回值数据类型为中也必须给出返回值数据类型为void。第三章 Java语言中面向对象特性26方法(方法(method)定义)定义public class MyMath public int max (int a, int b) return a b ? a : b

18、; public int min (int a, int b) return a b ? a : b; public int min (int a, int b) return a b ? a : b; 29参数传递参数传递 Java中进行方法调用中传递参数时:中进行方法调用中传递参数时:值传递值传递:基本类型数据传递的是该数据的值本身基本类型数据传递的是该数据的值本身。不会影响到实参本身。不会影响到实参本身。引用传递:引用类型数据传递的是对象的引用传递:引用类型数据传递的是对象的引用引用,而不是对象本身而不是对象本身 ,会影响实参。,会影响实参。第三章 Java语言中面向对象特性30值传递w

19、/形参形参 i 值的改变没有影响到实参值的改变没有影响到实参 j ;wpublic class Test w public static void main(String args) w MyCall mc = new MyCall();w int j = 33;w System.out.println(传递实参前传递实参前j的值的值:+j);w mc.change(j);w System.out.println(“传递实参后传递实参后j的值的值:+j);w wvclass MyCallv public void change(int i)v System.out.println( 改变形参前

20、改变形参前i的值的值:+i);v i = 100;v System.out.println(“ 改变形参改变形参后后i的值的值:+i);v v第三章 Java语言中面向对象特性31引用传递w /传递引用数据类型时,形参的改变会影响到实参。w public class Test w public static void main(String args) w MyCall mc = new MyCall();w StringBuffer sb = new StringBuffer(你好);w System.out.println(传递实参前sb的值:+sb);w mc.change(sb);w

21、System.out.println(“传递实参后sb的值:+sb);w w w class MyCallw public void change(StringBuffer s)w System.out.println( 改变形参前s的值:+s);w s.append(手机游戏);w System.out.println(“ 改变形参后s的值:+s);w w 第三章 Java语言中面向对象特性32构造方法构造方法(constructor)构造方法是定义在构造方法是定义在 Java 类中的一个用来类中的一个用来初始化初始化对象的特殊对象的特殊方法,只是在创建对象是调用,一个对象只能调用一次。方法

22、,只是在创建对象是调用,一个对象只能调用一次。构造方法与类构造方法与类同名同名且没有返回值。且没有返回值。使用使用 new + 构造方法构造方法 创建一个新的对象。创建一个新的对象。例如:为例如:为 Book 类定义构造方法:类定义构造方法: Book(int n,int i) id = n; price = i; 第三章 Java语言中面向对象特性33构造方法构造方法(constructor)创建对象时,使用构造方法初始化对象的成员变量。创建对象时,使用构造方法初始化对象的成员变量。public class Test public static void main(String args)

23、Book java = new Book(1,18); Book c = new Book(2,33); 堆内存堆内存*118233#javac第三章 Java语言中面向对象特性34构造方法构造方法(constructor) 当没有明确书写构造方法时,当没有明确书写构造方法时,java自动添加形如自动添加形如 类名类名( ) 的无参的无参,无语句的构造方法。无语句的构造方法。 例如:例如:class Point public int x; public int y; Point p = new Point(); 堆内存堆内存00#p第三章 Java语言中面向对象特性35对象的创建和使用对象的创

24、建和使用 必须使用必须使用 new 关键字关键字创建对象。创建对象。 使用使用对象引用对象引用.成员变量成员变量来调用对象的成员变量。来调用对象的成员变量。 使用使用对象引用对象引用.方法(参数列表)方法(参数列表)来调用对象的方法。来调用对象的方法。 同一类的每个对象有同一类的每个对象有不同的成员变量不同的成员变量存储空间。成员变量每个存储空间。成员变量每个 对象一份对象一份. 同一类的每个对象同一类的每个对象共享该类的方法共享该类的方法。所有该类的对象只有一份。所有该类的对象只有一份 方法方法.第三章 Java语言中面向对象特性36一般类的设计w public class 类名类名 w /

25、成员变量的声明或初始化成员变量的声明或初始化w /构造方法构造方法 w /允许别人操作的成员变量,一般用允许别人操作的成员变量,一般用get方法得到,方法得到,set方法设置方法设置 w /其它一些功能性的方法其它一些功能性的方法w w 第三章 Java语言中面向对象特性37Book类w public class Book w int id;w int price = 20;wBook ( int n, int i ) id = n; price = i; w /方法定义方法定义,一般用一般用get方法得到,方法得到,set方法设置允许别人操作方法设置允许别人操作的成员变量的成员变量w int

26、 getId ( ) return id; w int getPrice ( ) return price; w void setId ( int n ) id = n; w void setPrice ( int i ) price = i; w void display ( ) w System.out.println(id=+id+,price=+price); w w 第三章 Java语言中面向对象特性38this 关键字关键字 在类的方法定义中使用的在类的方法定义中使用的 this 关键字代表使用该方关键字代表使用该方 法的法的当前当前对象的引用。对象的引用。 当必须指出当必须指出当

27、前当前使用方法的对象时要使用使用方法的对象时要使用this。 有时使用有时使用this可以处理方法中可以处理方法中成员变量成员变量和和参数重名参数重名的的 情况。情况。 建议使用建议使用this,将使程序将使程序可读性可读性增强增强.第三章 Java语言中面向对象特性39this 关键字举例关键字举例class Book int id; int price = 20; /解决命名冲突,冲突时有好处的解决命名冲突,冲突时有好处的Book ( int id, int price ) this.id = id; this.price = price; int getId ( ) return id;

28、 int getPrice ( ) return price; void setId ( int id ) this.id = id; void setPrice ( int price ) this.price = price; void display ( ) System.out.println(id=+id+,price=+price); 第三章 Java语言中面向对象特性40static 关键字关键字 静态成员变量:静态成员变量:在类中,用在类中,用static声明的成员变量。它为该类声明的成员变量。它为该类 的公用变量,在第一次使用时被初始化,对于该类的所有对的公用变量,在第一次使

29、用时被初始化,对于该类的所有对 象,象, static成员变量只有一份。成员变量只有一份。 静态方法:静态方法:用用static声明的方法。在调用该方法时,不会将对声明的方法。在调用该方法时,不会将对 象的引用传递给它,所以在象的引用传递给它,所以在static方法中不可访问非方法中不可访问非static的成的成 员。员。 访问:访问:通过对象通过对象引用引用(类名类名).静态成员变量静态成员变量(静态方法静态方法)访问静态访问静态 成员成员,可以不用创建对象。可以不用创建对象。 第三章 Java语言中面向对象特性41static 关键字举例关键字举例/在在Book类修改类修改 static

30、int id;public class Test public static void main(String args) Book b1 = new Book(1,45); b1.display(); Book b2 = new Book(5,88);/b2影响影响b1了吗了吗? b2.display(); b1.display(); b1.setId(13);/修改的是对象修改的是对象B1,观察观察b2的变化的变化 b1.setPrice(999); Book.id = 11;/类名可以直接调用静态变量类名可以直接调用静态变量,不用创建对象不用创建对象 b1.display(); b2.d

31、isplay(); 第三章 Java语言中面向对象特性42package 和和 import语句语句 为便于管理大型软件系统中数目众多的类,解决类为便于管理大型软件系统中数目众多的类,解决类 的命名冲突问题,的命名冲突问题,Java引入包(引入包(package)机制,解机制,解决了类的命名空间。决了类的命名空间。 类似与文件夹的作用类似与文件夹的作用 包就是目录包就是目录 包里存放的是系统的类包里存放的是系统的类 定义的包名与目录名必须一致定义的包名与目录名必须一致第三章 Java语言中面向对象特性43package 关键字关键字package 语句作为语句作为 Java 源文件的第一条语句

32、,指源文件的第一条语句,指明该文件中定义的类将要放置的包。(若缺省该明该文件中定义的类将要放置的包。(若缺省该语句,则指定为无名包)。它的格式为:语句,则指定为无名包)。它的格式为: package pkg1.pkg2.pkg3;Java编译器把包对应于文件系统的目录管理,编译器把包对应于文件系统的目录管理,package语句中,用语句中,用 . 来指明包来指明包(目录目录)的层次,的层次,例如使用语句例如使用语句 package com.mu; 则该文件中有的类位于则该文件中有的类位于. commu 目录下目录下第三章 Java语言中面向对象特性44import 关键字关键字使用使用 imp

33、ort 在文件的开头引入要使用到的类在文件的开头引入要使用到的类; 例如:例如:import com.mu.MyClass;import com.mu.*;/引入引入com.mu.包中所有的类包中所有的类 MyClass myClass = new MyClass(); /可以直接使用类名可以直接使用类名可以不需要用可以不需要用import语句直接使用语句直接使用 java.lang 包包中的类。中的类。45访问控制访问控制 Java权限修饰符权限修饰符 public protected private 置于类的成员定义前,用来限定其他对象对该类对置于类的成员定义前,用来限定其他对象对该类对象

34、成员的访问权限。象成员的访问权限。修饰符修饰符类内部类内部同一个包同一个包子类子类任何地方任何地方privateYes无修饰符无修饰符YesYesprotectedYesYesYespublicYesYesYesYes第三章 Java语言中面向对象特性46访问控制访问控制w 重点是重点是:private或者或者publicw 对于对于class的权限修饰只可以用的权限修饰只可以用 public (建议建议)和和 无无。w 成员变量成员变量 建议使用建议使用private,保证程序的健壮性。,保证程序的健壮性。w 方法方法 建议使用建议使用public(建议建议)第三章 Java语言中面向对象特

35、性47访问控制举例访问控制举例class Book private int price; public void setprice(int i) if (i 0) return; price = i; public int getprice() return price;public class Test public static void main(String args) Book b = new Book(); b.price = -1000;/这里要注意!(可以访问?)这里要注意!(可以访问?) b.setprice(16); System.out.println(b.getpric

36、e(); 第三章 Java语言中面向对象特性48main()w public static void main(String args)w 解释main()方法的含义,程序入口w public才能被外界调用w static 因为操作系统没有面向对象的概念,不可能创造对象,只能调用static方法w void操作系统当然不需要返回值第三章 Java语言中面向对象特性49封装性 w 封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节的一种编程机制,该机制保证了程序和数据都不受外部干扰且不被误用。w 理解封装性的一个方法就是把它想成一个黑匣子,它可以阻止在外部定义的代码

37、随意访问内部代码和数据。对黑匣子内代码和数据的访问通过一个适当定义的接口严格控制。第三章 Java语言中面向对象特性Back50 继承 被继承的类称为父类 继承父类的类称为子类 执行继承时,子类将获得父类的属性,并具有自身特有的属性。 继承是面向对象编程技术的一块继承是面向对象编程技术的一块基石,它允许创建分等级层次的基石,它允许创建分等级层次的类。运用继承,可以创建一个通类。运用继承,可以创建一个通用类定义一系列一般特性。该类用类定义一系列一般特性。该类可以被更具体的类继承可以被更具体的类继承Emoloyee类:类: name sexWorker类:类: category dressAllo

38、wanceOfficer类:类: empClass vehicle职员类,具职员类,具有姓名和性有姓名和性别两个属性别两个属性工人类,继承了父工人类,继承了父类的姓名和性别属类的姓名和性别属性外还包含类别和性外还包含类别和是否有服装津贴属性是否有服装津贴属性主任类,还包含主任类,还包含级别和是否配备级别和是否配备交通工具属性交通工具属性第三章 Java语言中面向对象特性51extends关键字 extends关键字用于继承类。 声明一个继承父类的类的通常形式如下: class subclass-name extends superclass-name /类体 没有没有extends,默认父类为

39、,默认父类为Object只能有一个父类,即单继承只能有一个父类,即单继承子类继承父类的全部成员子类继承父类的全部成员注意注意第三章 Java语言中面向对象特性52super关键字 super关键字用来解决如何直接访问或初始化从父类继承来的属性。 super有两种通用形式:调用父类的构造函数、用来访问被子类的成员覆盖的父类成员。 它用在对象的构造函数中,将构造细节通过继承链往上传递。 super()必须是在子类构造函数中的第一个执行语句。第三章 Java语言中面向对象特性53继承示例class Employee String name; /姓名姓名 char sex; /性别性别 Employe

40、e(String n, char s) name = n; sex = s; public String getName() return name; public char getSex() return sex;class Worker extends Employee char category;/类别类别 boolean dressAllowance; /是否提供服装津贴是否提供服装津贴 Worker(String n,char s,char c,boolean d) super(n,s); category = c; dressAllowance = d; public char g

41、etCategory()return category; public boolean getAll() return dressAllowance; class InheDemo public static void main(String args) Worker w = new Worker(“张三张三,M,B,true); System.out.println(工人信息工人信息); System.out.println(姓名姓名 : +w.getName(); System.out.println(性别性别 : +w.getSex(); System.out.println(类别类别 : +w.getCategory(); if(w.getAll() System.out.println(提供服装津贴提供服装津贴); else System.out.println(“未提供服装津贴未提供服装津贴”); 第三章 Java语言中面向对象特性Back54多态性多态性w 对象的多态性是指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论