1、复习问题,Java可运行程序与C+有什么不同? Java程序为什么会有更好的可移植性? Java源程序的文件名有什么规定? ClassPath环境变量的作用是什么? JDK中编译器和解释器分别是什么程序?,Java类和文件的组织,类与Java文件,一个Java的源文件中可以包含多个Java类。 其中只能有一个Public 类,而且此类名必须与文件名相同。 如果编译了包含多个类的文件,则生成多个Class文件,每个文件对应一个类。 例子:FirstFrame.java,Java类的组织,微型程序:放在单个文件中即可。 小型程序:放在同一个目录下的多个文件中 中大型程序或项目:放在不同的目录下的很
2、多个文件中,以包的形式组织。,Java类的组织,小型程序:多个文件放在同一个目录下 一个类中可以直接使用其它文件中的类,Java编译器会自动查找当前目录的类文件,如果找不到或者类文件日期较旧,就会自动编译它。 这也可以看作包,一个特殊包,叫做“默认包”。,Java类的组织,中大型程序或项目,按包来组织。 当有很多人的大量程序出现时,文件和类名称冲突的可能性就越来越大,特别是放在Internet上的Java程序下载到本机时,名称冲突就不可避免了。 解决这个问题方法就是采用一种命名空间的概念,把类放在不同的命名空间,则类名冲突的可能性就会大大降低。,Java类的组织,中大型程序或项目,按包来组织。
3、 每一个命名空间存放一定数量的Java类,就是一个包。 包是Java组织类的方法,便于把大量的、多人编写的程序方便的组织起来,并良好的运作。 Java的包也可以看成程序库,方便他人使用。,Java类的组织,中大型程序或项目,按包来组织。 Java的JDK本身所带的大量类库就是按包的形式组织的,我们可以直接使用。 Java的类一般按照功能分包,象目录一样组织文件。,包的例子,java.awt java.awt.event Java的包里还可以有包,包之间是没有关系的独立包。 一个具体的类Frame:java.awt.Frame,JDK中的标准包,java.applet 有关Java小应用程序的类
4、。 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 HelloWorldpublic static void main(Stri
5、ng 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 程序会自动
6、根据包在目标目录下创建相应目录 coursec03,并把class文件放在下面。 必须使用 -d 才能生成包目录,包的命名,建议使用开发者的Internet域名作为包的第一部分。例如: 包名:可以是:com.song.testpackage如果没有域名则应生成一个不可能和其他人重的包名。,一般的目录划分方法,一个工程(或一个软件)的所有文件放同一个目录下。 Java源文件放在工程目录下的src目录,源程序的存放目录和包的划分也对应起来。 Java编译后的文件放在工程目录下的bin或classes目录下 其它文件按类型建文件夹存放。,课程例子的组织,工作根目录:d:examples 一级包名为:
7、course 以第几次课程为二级包名。c01,c02c16 源程序文件:srcc01 编译的Class文件:classescoursec01 工作目录在源文件所在的目录,例如:srcc03FirstFrame,课程例子的组织,CLASSPATH的设置: Set CLASSPATH=D:examplesclasses,课程例子的组织,编译命令行:javac -d classes HelloWorld.java或者:javac d d:exampleclasses HelloWorld.java 运行命令行:java course.c03.HelloWorld 运行时必须指明类所在的包。,编译和运
8、行例子程序,例子10HelloClasspath 察看源程序,注意如何把一个类加入一个包中。 编译Hello.java,注意使用-d指明输出目录。 察看输出目录下生成的目录结构和class文件。 设置classpath,以运行例子程序。,将class文件打包发布,可以将编译完成的class文件打成一个Jar文件包的形式进行发布。 命令格式: jar cvf Hello.jar 打包目录名打包目录名会存在于Jar文件中,如果不想要这个目录名,则应改变当前目录到打包目录下即可:Jar cvf he.jar *,例子,将例子程序打包成Jar文件设置Jar文件到classpath中运行Jar文件中的类
9、,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”,