Java文件组织和编程环境.ppt
复习问题,Java可运行程序与C+有什么不同?Java程序为什么会有更好的可移植性?Java源程序的文件名有什么规定?ClassPath环境变量的作用是什么?JDK中编译器和解释器分别是什么程序?,Java类和文件的组织,类与Java文件,一个Java的源文件中可以包含多个Java类。其中只能有一个Public 类,而且此类名必须与文件名相同。如果编译了包含多个类的文件,则生成多个Class文件,每个文件对应一个类。例子:FirstFrame.java,Java类的组织,微型程序:放在单个文件中即可。小型程序:放在同一个目录下的多个文件中中大型程序或项目:放在不同的目录下的很多个文件中,以包的形式组织。,Java类的组织,小型程序:多个文件放在同一个目录下一个类中可以直接使用其它文件中的类,Java编译器会自动查找当前目录的类文件,如果找不到或者类文件日期较旧,就会自动编译它。这也可以看作包,一个特殊包,叫做“默认包”。,Java类的组织,中大型程序或项目,按包来组织。当有很多人的大量程序出现时,文件和类名称冲突的可能性就越来越大,特别是放在Internet上的Java程序下载到本机时,名称冲突就不可避免了。解决这个问题方法就是采用一种命名空间的概念,把类放在不同的命名空间,则类名冲突的可能性就会大大降低。,Java类的组织,中大型程序或项目,按包来组织。每一个命名空间存放一定数量的Java类,就是一个包。包是Java组织类的方法,便于把大量的、多人编写的程序方便的组织起来,并良好的运作。Java的包也可以看成程序库,方便他人使用。,Java类的组织,中大型程序或项目,按包来组织。Java的JDK本身所带的大量类库就是按包的形式组织的,我们可以直接使用。Java的类一般按照功能分包,象目录一样组织文件。,包的例子,java.awtJava的包里还可以有包,包之间是没有关系的独立包。一个具体的类Frame:,JDK中的标准包,java.applet 有关Java小应用程序的类。java.awt 一些编写GUI界面的类。java.io 处理输入输出的类java.lang 一些基本Java类 用于网络编程的类java.util 一些工具类和数据结构,使用包里的类,使用 import语句引入import javax.swing.JFrame;import javax.swing.*;使用类的全名new javax.swing.JFrame();注意:包所在目录要在classpath中。,使用包里的类,默认情况下java.lang自动被导入,System类就是public class HelloWorld public static void main(String args)System.out.println(Hello World!);,使用包里的类,例子程序:10HelloClasspath使用了C:Program FilesApache Software FoundationTomcat 5.5commonlibservlet-api.jar中的类。设置到Classpath中,编译。,把Java文件中的类放入包,在java文件里的第一行代码用packagepackage course.c03编译:javac-d.classes HelloWorld.java使用-d 指明编译后的类文件放在什么目录下Javac 程序会自动根据包在目标目录下创建相应目录 coursec03,并把class文件放在下面。必须使用-d 才能生成包目录,包的命名,建议使用开发者的Internet域名作为包的第一部分。例如:包名:可以是:如果没有域名则应生成一个不可能和其他人重的包名。,一般的目录划分方法,一个工程(或一个软件)的所有文件放同一个目录下。Java源文件放在工程目录下的src目录,源程序的存放目录和包的划分也对应起来。Java编译后的文件放在工程目录下的bin或classes目录下其它文件按类型建文件夹存放。,课程例子的组织,工作根目录:d:examples一级包名为:course以第几次课程为二级包名。c01,c02c16源程序文件:srcc01编译的Class文件:classescoursec01工作目录在源文件所在的目录,例如:srcc03FirstFrame,课程例子的组织,CLASSPATH的设置:Set CLASSPATH=D:examplesclasses,课程例子的组织,编译命令行:javac-d.classes HelloWorld.java或者:javac d d:exampleclasses HelloWorld.java运行命令行:运行时必须指明类所在的包。,编译和运行例子程序,例子10HelloClasspath察看源程序,注意如何把一个类加入一个包中。编译Hello.java,注意使用-d指明输出目录。察看输出目录下生成的目录结构和class文件。设置classpath,以运行例子程序。,将class文件打包发布,可以将编译完成的class文件打成一个Jar文件包的形式进行发布。命令格式:jar cvf Hello.jar 打包目录名打包目录名会存在于Jar文件中,如果不想要这个目录名,则应改变当前目录到打包目录下即可:Jar cvf he.jar*,例子,将例子程序打包成Jar文件设置Jar文件到classpath中运行Jar文件中的类,JCreator环境设置与使用,JCreator安装JCreator环境设置使用JCreator开发Java程序,JCreator安装,首先安装JDK安装JDK文档运行JCreator3.5安装程序注册JCreator第一次启动时,设置JCreator开发环境,JCreator Pro环境设置,第一次启动时,可以设置:关联文件类型JDK目录和环境Java文档目录编写程序时,随时设置开发环境。察看JDK文档,在JCreator Pro中建立工作空间,工作空间目录:d:myjavaworkspace使用JCreator建立空白工作空间建立空白工程,设置源程序目录和输出目录。编写Java程序,编译并察看输出目录生成的文件和目录。,设置JCreator开发环境,设置JDK设置Classpath例子:编译“例子10HelloClasspath”,