Java程序设计-1-JAVA概述_第1页
Java程序设计-1-JAVA概述_第2页
Java程序设计-1-JAVA概述_第3页
Java程序设计-1-JAVA概述_第4页
Java程序设计-1-JAVA概述_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、JavaJava程序设计程序设计 第一章第一章 JavaJava概述概述 学习目标学习目标 了解了解JavaJava及其发展概况及其发展概况 了解了解JavaJava编程语言的主要特性编程语言的主要特性 了解了解JavaJava的运行环境的运行环境 掌握掌握JavaJava程序的基本结构程序的基本结构 熟悉熟悉JavaJava程序的基本编程规范程序的基本编程规范 了解了解JavaJava虚拟机的原理虚拟机的原理 掌握掌握JavaJava应用程序的加载过程应用程序的加载过程 1.11.1 JavaJava的历史与发展的历史与发展 1. Java1. Java的历史的历史 uJavaJava是一种

2、解释型的、面向对象的编程语言。是一种解释型的、面向对象的编程语言。 u历史:历史:19911991年,年,SUN MicroSystemSUN MicroSystem公司的公司的Jame GoslingJame Gosling、Bill Bill JoeJoe等人为在电视、控制烤箱等家用消费类电子产品上进行交互等人为在电视、控制烤箱等家用消费类电子产品上进行交互 式操作而开发了一个名为式操作而开发了一个名为OakOak的软件。的软件。 u Oak Oak Java Java:互联网给:互联网给JavaJava带来新的生机带来新的生机 19941994 u 19951995年年SunSun向公众

3、推出向公众推出JavaJava并引起业界的轰动并引起业界的轰动 u发展:与平台无关、面向网络应用,类库不断丰富,性能不断发展:与平台无关、面向网络应用,类库不断丰富,性能不断 提高,应用领域不断拓展。(提高,应用领域不断拓展。(19951995年以来)年以来) u应用:应用:JavaJava是当今最流行的软件开发语言之一,是当今最流行的软件开发语言之一,SunSun推出了推出了 Java2 %JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.j.;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.j ar;%JAVA_HOME%jr

4、elibrt.jar;ar;%JAVA_HOME%jrelibrt.jar; u简化简化CLASSPATHCLASSPATH配置配置 u如果一个目录如果一个目录( (例如在例如在d:jars)d:jars)下有很多下有很多.jar.jar文件,可以按照如文件,可以按照如 下方式配置:下方式配置:d:jarsd:jars* * 系统环境变量的设置(系统环境变量的设置(cont.cont.) uPATHPATH u可执行文件搜索路径设置,例如可执行文件搜索路径设置,例如java.exejava.exe, javac.exejavac.exe等等 u%JAVA_HOME%bin%JAVA_HOME%

5、bin 注意注意 u编译和执行编译和执行javajava程序时,编译系统会自动到当前程序时,编译系统会自动到当前 工作目录、工作目录、jdkjdk安装路径下的安装路径下的liblib目录下寻找需加目录下寻找需加 载的类。因此,可以简化载的类。因此,可以简化classpathclasspath变量的设置。变量的设置。 检查检查JavaJava运行环境设置运行环境设置 uC:javaC:java Usage: java -options class args. (to execute a class)Usage: java -options class args. (to execute a cl

6、ass) or java -jar -options jarfile args. (to execute a jar or java -jar -options jarfile args. (to execute a jar file)file) uC:javacC:javac Usage: javac Usage: javac uC:java C:java versionversion java version 1.4.2_03java version 1.4.2_03 Java(TM) 2 Runtime Environment, Standard Edition (build Java(

7、TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)1.4.2_03-b02) Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode) 1.3 java1.3 java程序的类型程序的类型 应用程序应用程序Java ApplicationJava Application u独立的独立的JavaJava程序程序 u程序入口方法程序入口方法:

8、: upublic static void main(String args) public static void main(String args) 小应用程序小应用程序Java AppletJava Applet u在在WebWeb浏览器中运行浏览器中运行( (内嵌内嵌JavaJava虚拟机虚拟机) ) u特定标记特定标记 uAPPLET CODE=HelloWorld.class WIDTH=150 HEIGHT=25 特定的程序特定的程序 uServletServlet、EJBEJB等等 开发过程:开发过程: u传统开发模式传统开发模式 1.1.编写源程序编写源程序 2.2.编译源程

9、序,生成字节码文件编译源程序,生成字节码文件 javac Hello.javajavac Hello.java 3.3.解释执行解释执行 java java HelloHello u集成开发模式集成开发模式 可视化、集成化优点,支持从开发到运行的所有环节可视化、集成化优点,支持从开发到运行的所有环节 Eclipse(MyEclipse) Eclipse(MyEclipse), NetBeans NetBeans u以为基础以为基础 1.3 1.3 第一个第一个Java应用程序应用程序 public public 可以公开可以公开 class class 类类 static static 静态静

10、态 void void 无返回值无返回值 args args 参数参数 程序体程序体 /* * 程序程序1-1:一个向控制台输出字符串的应用程序:一个向控制台输出字符串的应用程序 */ public class HelloWorldApp /* main方法是构成方法是构成Java应用程序执行不可缺少的部分应用程序执行不可缺少的部分 param args 一个一个String类型的数组类型的数组 */ public static void main (String args) System.out.println (Hello World!); /向控制台输出向控制台输出 第一步:打开任一个文

11、本编辑器,将前述内容添第一步:打开任一个文本编辑器,将前述内容添 加进去,创建一个加进去,创建一个源程序文件源程序文件。 u考虑好类名,选一个有意义的英文名字,如考虑好类名,选一个有意义的英文名字,如 HelloWorldAppHelloWorldApp u写好类的声明写好类的声明 u添加添加mainmain方法(程序执行的入口点)方法(程序执行的入口点) u保存文件,文件名和类名要完全保持一致(包括保存文件,文件名和类名要完全保持一致(包括 大小写),文件后缀是大小写),文件后缀是.java.java。 什么是什么是源程序源程序 u源程序(也称源代码),是指一系列人类可读的计算机源程序(也称

12、源代码),是指一系列人类可读的计算机 语言指令。计算机程序包括源程序和目标程序。同一程序语言指令。计算机程序包括源程序和目标程序。同一程序 的源文本和目标文本应当视为同一作品。源程序是指用高的源文本和目标文本应当视为同一作品。源程序是指用高 级语言或汇编语言编写的程序。级语言或汇编语言编写的程序。 u目标程序,是指可在计算机运行的程序。一般源程序都目标程序,是指可在计算机运行的程序。一般源程序都 需要经过某种翻译过程,形成计算机可理解的指令代码。需要经过某种翻译过程,形成计算机可理解的指令代码。 u翻译的两种方式,即编译方式和解释方式。编译方式是翻译的两种方式,即编译方式和解释方式。编译方式是

13、 指利用事先编好的一个称为编译程序的机器语言程序,作指利用事先编好的一个称为编译程序的机器语言程序,作 为系统软件存放在计算机内,当用户将高级语言编写的源为系统软件存放在计算机内,当用户将高级语言编写的源 程序输入计算机后,编译程序便把源程序整个地翻译成用程序输入计算机后,编译程序便把源程序整个地翻译成用 机器语言表示的与之等价的目标程序,然后计算机再执行机器语言表示的与之等价的目标程序,然后计算机再执行 该目标程序,以完成源程序要处理的运算并取得结果(如该目标程序,以完成源程序要处理的运算并取得结果(如 JavaJava、C C、VC+VC+等)。解释方式是指源程序进入计算机后,等)。解释方

14、式是指源程序进入计算机后, 解释程序边扫描边解释,逐句输入逐句翻译,计算机一句解释程序边扫描边解释,逐句输入逐句翻译,计算机一句 句执行,并不产生目标程序(如句执行,并不产生目标程序(如JavaScriptJavaScript)。 第二步:编译源程序,产生字节码文件第二步:编译源程序,产生字节码文件 u进入命令提示符窗口进入命令提示符窗口 u利用利用 cd cd 命令切换当前路径到源程序所在目录命令切换当前路径到源程序所在目录 u执行命令执行命令 ujavac javac HelloWorldApp.javaHelloWorldApp.java u检查目录下是否生成检查目录下是否生成Hello

15、WorldApp.classHelloWorldApp.class文件,文件, 如果有,则表示结果正确如果有,则表示结果正确 第三步:执行该程序第三步:执行该程序 u保持命令提示符窗口保持命令提示符窗口 u执行命令执行命令 ujava HelloWorldAppjava HelloWorldApp u查看结果查看结果 和其他语言开发过程的比较和其他语言开发过程的比较 JavaJava程序开发步骤(程序开发步骤(编码,编译,解释,执行编码,编译,解释,执行 ) C C程序开发步骤(程序开发步骤(编码,编译,执行编码,编译,执行 ) 类的定义类的定义 u关键字关键字classclass表示要定义一

16、个类表示要定义一个类( (模板模板) ), 一个类在结构上包含数据变量和方法,表一个类在结构上包含数据变量和方法,表 示功能的语句总是包含在方法中。示功能的语句总是包含在方法中。 1.3.2 JAVA1.3.2 JAVA应用程序编程原则应用程序编程原则 public class Dog String name; public void bark() System.out.println(“brak!); 定义类文件定义类文件 upublicpublic修饰的类名称必须与包含它的修饰的类名称必须与包含它的JavaJava源程源程 序文件名一致序文件名一致 upublic class public

17、 class DogDog u . . . . . u u则文件名一定要是:则文件名一定要是:Dog.javaDog.java u并且大小写敏感并且大小写敏感 ( (一致一致) ) 1.3.2 JAVA1.3.2 JAVA应用程序编程原则应用程序编程原则 总之,类文件的定义总之,类文件的定义 u一个一个JavaJava应用程序至少包含一个类。应用程序至少包含一个类。 u一个一个JavaJava源文件一般只包含一个类定义。源文件一般只包含一个类定义。 u一个类可以是一个空类,不包含任何属性定义和一个类可以是一个空类,不包含任何属性定义和 方法声明。方法声明。 u声明一个类时,其类名的第一个字母应

18、该大写。声明一个类时,其类名的第一个字母应该大写。 u类名通常是有意义的。类名通常是有意义的。 主方法主方法(main Method)(main Method) u每个每个JavaJava应用程序必须有且只能有的一个方法,它是程序执行的应用程序必须有且只能有的一个方法,它是程序执行的 入口,运行时被虚拟机自动执行入口,运行时被虚拟机自动执行 u该方法的声明格式是固定的,不能变更该方法的声明格式是固定的,不能变更 方法方法 u被程序调用而执行,并不会自动执行被程序调用而执行,并不会自动执行 1.3.2 JAVA1.3.2 JAVA应用程序编程原则应用程序编程原则 public class Dog

19、 public void bark() System.out.println(“brak!); public static void main(String args) Dog d = new Dog(); d.bark(); 类和变量的引用类和变量的引用 u一个类中引用其他类,要注意在文件头,使用一个类中引用其他类,要注意在文件头,使用importimport加载加载 ujava.langjava.lang包中的类不需要明确包中的类不需要明确importimport u引用一个类或对象的变量和方法,要通过引用一个类或对象的变量和方法,要通过“. .”实现引用实现引用 JAVAJAVA应用程序

20、编程原则应用程序编程原则 import java.util.Date; public class HelloWorld public static void main(String args) Date now=new Date( ); System.out.println(now); 类和包介绍类和包介绍 类是描述提供某种功能的模块的一般术语。类是描述提供某种功能的模块的一般术语。 uJavaJava开发集(开发集(JDKJDK)给出了一套标准的类(称作类库),)给出了一套标准的类(称作类库), 这些类可执行大部分所需的基本行为这些类可执行大部分所需的基本行为 不仅为编程任不仅为编程任 务(

21、例如,类可提供基本的数学函数、数组和字符串),务(例如,类可提供基本的数学函数、数组和字符串), 而且为图形和网络程序开发提供了丰富的支持。而且为图形和网络程序开发提供了丰富的支持。 类库被组织成许多包,每个包都包含几个类。如下所列类库被组织成许多包,每个包都包含几个类。如下所列 为一些重要的包:为一些重要的包: ujava.langjava.lang包含一些形成语言核心的类,如包含一些形成语言核心的类,如StringString、MathMath、 IntegerInteger和和ThreadThread。 ujava.awtjava.awt包含了构成抽象窗口工具包(包含了构成抽象窗口工具包

22、(AWTAWT)的类,这个)的类,这个 包被用来构建和管理应用程序的图形用户界面。包被用来构建和管理应用程序的图形用户界面。 ujava.appletjava.applet包含了可执行包含了可执行appletapplet特殊行为的类。特殊行为的类。 包含执行与网络相关的操作的类和处理接口及包含执行与网络相关的操作的类和处理接口及 统一资源统一资源定位器定位器(URLs)(URLs)的类。的类。 ujava.iojava.io包含处理包含处理I/OI/O文件的类。文件的类。 ujava.utiljava.util包含为任务设置的实用程序类,如随机数发生、包含为任务设置的实用程序类,如随机数发生、

23、 定义系统特性和使用与日期日历相关的函数。定义系统特性和使用与日期日历相关的函数。 书写规范书写规范 u 每个程序应以说明程序目的,作者,日期和时间 的注释开始; u 使用空格和空行可以提高程序可读性; u 花括号对“”类,方法,语句块 u 语句分号“;”结尾 u 缩进:当程序中输入一对花括号,然后把光标重 新定位到两个括号之间,先缩进一级,再开始输 入程序体,该习惯有利于防止漏掉括号的错误 JAVAJAVA应用程序编程原则应用程序编程原则 import java.util.*; public class ArrayDemo public static void main(String arg

24、s) int a=10,7,9,2,4,5,1,3,6,8; Arrays.sort(a); Set week=new HashSet(); Iterator it=week.iterator(); week.add(hello); for(String str : week) System.out.println(str); 对齐对齐 u关系密切的行应对齐,对齐包括类型、修饰、名称、参关系密切的行应对齐,对齐包括类型、修饰、名称、参 数等各部分对齐。数等各部分对齐。 u连续赋值时当对齐操作符。连续赋值时当对齐操作符。 u当方法参数过多时当在每个参数后(逗号后)换行并对当方法参数过多时当在每个

25、参数后(逗号后)换行并对 齐。齐。 u当控制或循环中的条件比较长时当换行(操作符前)、当控制或循环中的条件比较长时当换行(操作符前)、 对齐并注释各条件。对齐并注释各条件。 u变量定义最好通过添加空格形成对齐,同一类型的变量变量定义最好通过添加空格形成对齐,同一类型的变量 应放在一起。应放在一起。 /变量对齐- int count = 100; String strUserName = null; Integer porductCode = new Integer(2); /产品编码数组 /参数对齐- public Connection getConnection( String url, S

26、tring userName, String password) throws SQLException,IOException /换行对齐- public final static String SQL_SELECT_PRODUCT = “SELECT * “ + “ FROM TProduct WHERE Prod_ID = ” + prodID; /条件对齐- if( Condition1 /当条件一 / Explain why here. 1.3.4 1.3.4 排除常犯的错误排除常犯的错误 声明一个类的关键字声明一个类的关键字classclass,写成了写成了Classlass,要注

27、意大小,要注意大小 写。写。 声明声明mainmain方法时,方法修饰符没有严格按照方法时,方法修饰符没有严格按照public static void的顺序的顺序, ,并且其参数是一个字符串数组并且其参数是一个字符串数组 String 大小写问题,例如把大小写问题,例如把mainmain方法的参数方法的参数argsargs的类型的类型 Stringtring,改成了,改成了string,tring,把把Systemystem写成了写成了systemystem。 JAVAC is not recognized as an internal or external command,operable

28、 program or batch file. 解释:编译错误。包含解释:编译错误。包含javac.exejavac.exe编译器的路径变量编译器的路径变量 设置不正确,操作系统无法发现该执行文件。设置不正确,操作系统无法发现该执行文件。 类名和文件名不能保持一致。如:类名和文件名不能保持一致。如: HelloWorldAp.java:5: class HelloWorldApp is public, HelloWorldAp.java:5: class HelloWorldApp is public, should be declared in a file named HelloWorld

29、App.javashould be declared in a file named HelloWorldApp.java public class HelloWorldApp public class HelloWorldApp 解释:解释:编译错误。当一个类被编译错误。当一个类被“public”修饰时,包含这个修饰时,包含这个 类的文件名应该和该类名完全一致。类的文件名应该和该类名完全一致。 不能发现需要执行的类。如:不能发现需要执行的类。如: Exception in thread main Exception in thread main java.lang.NoClassDefFou

30、ndError: HelloWorldAppjava.lang.NoClassDefFoundError: HelloWorldApp 解释:运行错误。有时即使该类的字节码文件就在当前目录下,解释:运行错误。有时即使该类的字节码文件就在当前目录下, 也会报这种错误。这种错误的主要原因是由于没有为运行时环也会报这种错误。这种错误的主要原因是由于没有为运行时环 境提供正确的类加载说明,详细说明请参阅附录。境提供正确的类加载说明,详细说明请参阅附录。 HelloWorldApp.java:10: cannot resolve symbol symbol : method printl (java.l

31、ang.String) location: class java.io.PrintStream 1.4 Java1.4 Java的工作原理的工作原理 JavaJava的结构的结构 Java Program Java Virtual Machine Java APIS Your Computer System Java的编译与执行 1.4.2 Java1.4.2 Java应用程序执行过程应用程序执行过程 1.1.加载加载 u加载就是把二进制形式的字节码读入虚拟机中。加载加载就是把二进制形式的字节码读入虚拟机中。加载 过程是由类加载器完成的,该加载器是过程是由类加载器完成的,该加载器是ClassL

32、oaderClassLoader 的子类。的子类。 2.2.链接链接 u链接是取得加载的类或接口,并将其与链接是取得加载的类或接口,并将其与JVMJVM运行时环运行时环 境结合起来,以准备执行的过程,这个过程包括检验,境结合起来,以准备执行的过程,这个过程包括检验, 准备和解析三个步骤。准备和解析三个步骤。 3.3.初始化初始化 u如果类存在对非如果类存在对非finalfinal静态变量的赋值,或者静态变量的赋值,或者staticstatic 代码段,在编译时会隐式生成一个代码段,在编译时会隐式生成一个cinit()cinit()方法,即方法,即 初始化执行的方法体。初始化执行的方法体。 1.

33、4.3 Java1.4.3 Java虚拟机虚拟机 JavaJava虚拟机(虚拟机(JVMJVM):物理计算机上由软件模拟实现的假想计):物理计算机上由软件模拟实现的假想计 算机,对不同的硬件平台提供了不同的编译代码规范,该规算机,对不同的硬件平台提供了不同的编译代码规范,该规 范可以屏蔽机器硬件的差异,使范可以屏蔽机器硬件的差异,使JavaJava软件独立于运行平台。软件独立于运行平台。 传统语言执行过程:传统语言执行过程: u编译(目标码),连接(可执行代码),运行编译(目标码),连接(可执行代码),运行( (计算机)计算机) JavaJava语言执行过程:语言执行过程: u编译(字节码),

34、解释执行(编译(字节码),解释执行(JVMJVM) 1.4.3 Java1.4.3 Java虚拟机虚拟机 不同的操作系统有不同的虚拟机。它类似一个小巧而高不同的操作系统有不同的虚拟机。它类似一个小巧而高 效的效的CPUCPU。 BytecodeBytecode代码是与平台无关的是虚拟机的机器指令。代码是与平台无关的是虚拟机的机器指令。 JavaJava字节代码运行的两种方式字节代码运行的两种方式: : uInterpreter(Interpreter(解释方式解释方式) ) uJust-in-time(Just-in-time(即时编译即时编译):):有代码生成器将字节代码转换有代码生成器将字

35、节代码转换 成本机的机器代码,然后可以以较高速度执行成本机的机器代码,然后可以以较高速度执行. . 虚拟机的任务虚拟机的任务 u提供垃圾回收功能提供垃圾回收功能 u提供运行时环境提供运行时环境 u提供中立的体系结构提供中立的体系结构 JVMJVM运行时的数据区结构运行时的数据区结构 方法区方法区 u方法区是由所有方法区是由所有JVMJVM线程共享的一个公共存储区。方法区线程共享的一个公共存储区。方法区 存储类的装基本信息、常量池、静态变量、字段信息、方存储类的装基本信息、常量池、静态变量、字段信息、方 法信息、一个到类法信息、一个到类ClassLoaderClassLoader的引用,一个到的

36、引用,一个到ClassClass类的类的 引用。引用。 堆堆 堆是一个自由内存区域,常用于内存的动态分配或临时分堆是一个自由内存区域,常用于内存的动态分配或临时分 配。堆是一种运行时数据区,为类和数组对象提供内存。配。堆是一种运行时数据区,为类和数组对象提供内存。 JVMJVM在启动时创建堆,然后当在启动时创建堆,然后当JavaJava中创建类或数组对象时,中创建类或数组对象时, 就从堆中分配所需内存。当对象或数组不再存在后,由一就从堆中分配所需内存。当对象或数组不再存在后,由一 个称为垃圾收集的自动存储管理系统来回收堆内存个称为垃圾收集的自动存储管理系统来回收堆内存。 栈栈 每一个线程都有自

37、己私有的一个每一个线程都有自己私有的一个JAVAJAVA栈,任何线程不能调用其它线程栈,任何线程不能调用其它线程 的栈,的栈,JavaJava的栈帧用于存储方法调用的状态。的栈帧用于存储方法调用的状态。 当线程调用一个方法的时候,当线程调用一个方法的时候,JVMJVM会在该线程的会在该线程的JAVAJAVA栈上压入一个新栈上压入一个新 帧。自然该帧成为当前帧,在执行该方法期间,线程用该帧来储存参帧。自然该帧成为当前帧,在执行该方法期间,线程用该帧来储存参 数,局部变量和中间运算结果等。数,局部变量和中间运算结果等。 JAVAJAVA方法执行有两种情况,一种是正常执行完成方法执行有两种情况,一种

38、是正常执行完成returnreturn,另一种是异,另一种是异 常抛出中止。虚拟机都会将当前的栈帧出栈。常抛出中止。虚拟机都会将当前的栈帧出栈。 栈与堆 Java将它的内存空间分为两部分:一种叫栈内存,一种将它的内存空间分为两部分:一种叫栈内存,一种 叫堆内存。叫堆内存。 u局部变量与方法都是在栈内存中定义和分配的。局部变量与方法都是在栈内存中定义和分配的。 u堆内存是通过堆内存是通过new关键字产生的数组和对象都关键字产生的数组和对象都 分配在堆内存中,堆内存中分配的空间由分配在堆内存中,堆内存中分配的空间由JVM 的自动垃圾回收器来管理。的自动垃圾回收器来管理。 u以后在程序中直接使用栈中

39、的变量来访问堆中以后在程序中直接使用栈中的变量来访问堆中 的数组或对象。的数组或对象。 1.4 常用开发工具常用开发工具 常用开发工具常用开发工具 uEclipse(MyEclipse)Eclipse(MyEclipse) uBEA WorkShopBEA WorkShop uIntellij IDEAIntellij IDEA uNetBeansNetBeans uJBuilderJBuilder 作业作业 uJavaJava应用程序从那个方法开始执行?应用程序从那个方法开始执行? uSystem.out.println()System.out.println()有什么作用?有什么作用? u

40、参考参考DogDog的类,尝试定义一个的类,尝试定义一个CarCar类类 复习要点复习要点 JavaJava的特性的特性 u体系结构中立体系结构中立 u字节码字节码(ByteCodes)(ByteCodes),JVM+OSJVM+OS u健壮健壮 u去掉了指针去掉了指针 u安全安全 u加入了垃圾回收、异常处理机制、透明的类的内存分加入了垃圾回收、异常处理机制、透明的类的内存分 配和布局等配和布局等 u可移植性可移植性 u自身重力的代码结构自身重力的代码结构 应用平台应用平台 uJava SEJava SE、Java EEJava EE、Java MEJava ME JDKJDK开发工具开发工具 u可以完成开发、部

温馨提示

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

评论

0/150

提交评论