《JAVA教程第一讲Java语言概述1.5.docx》由会员分享,可在线阅读,更多相关《JAVA教程第一讲Java语言概述1.5.docx(4页珍藏版)》请在金锄头文库上搜索。
1、 JAVA教程第一讲Java语言概述1.5一个完整的java源程序应当包括以下局部:package语句; /该局部至多只有一句,必需放在源程序的第一句import语句; /*该局部可以有若干import语句或者没有,必需放在全部的 类定义之前*/public classDefinition; /公共类定义局部,至多只有一个公共类的定义 /java语言规定该java源程序的文件名必需与该公共类名完全全都classDefinition; /类定义局部,可以有0个或者多个类定义interfaceDefinition; /接口定义局部,可以有0个或者多个接口定义 例如一个java源程序可以是如下构造,
2、该源程序命名为HelloWorldApp.java: package javawork.helloworld; /*把编译生成的全部.class文件放到包 javawork.helloworld中*/import java.awt.*; /告知编译器本程序中用到系统的AWT包import javawork.newcentury; /*告知编译器本程序中用到用户自定义的包javawork.newcentury*/public class HelloWorldApp. /*公共类HelloWorldApp的定义, 名字与文件名一样*/class TheFirstClass. /第一个一般类TheF
3、irstClass的定义class TheSecondClass. /其次个一般类TheSecondClass的定义. /其它一般类的定义interface TheFirstInterface. /*第一个接口TheFirstInterface的定义*/. /其它接口定义 package语句:由于java编译器为每个类生成一个字节码文件,且文件名与类名一样,因此同名的类有可能发生冲突。为了解决这一问题,java供应包来治理类名空间,包实际供应了一种命名机制和可见性限制机制。而在java的系统类库中,把功能相像的类放到一个包(package)中,例如全部的图形界面的类都放在java.awt这个包
4、中,与网络功能有关的类都放到这个包中。用户自己编写的类(指.class文件)也应当根据功能放在由程序员自己命名的相应的包中,例如上例中的javawork.helloworld就是一个包。包在实际的实现过程中是与文件系统相对应的,例如javawork.helloworld所对应的名目是pathjavaworkhelloworld,而path是在编译该源程序时指定的。比方在命令行中编译上述HelloWorldApp.java文件时,可以在命令行中敲入“javac -d f:javaproject HelloWorldApp.java“,则编译生成的HelloWorldApp.class文件将放在名
5、目f:javaprojectjavaworkhelloworld名目下面,此时f:javaprojcet相当于path。但是假如在编译时不指定path,则生成的.class文件将放在编译时命令行所在的当前名目下面。比方在命令行名目f:javaproject下敲入编译命令“javac HelloWorldApp.java“,则生成的HelloWorldApp.class文件将放在名目f:javaproject下面,此时的package语句相当于没起作用。 但是,假如程序中包含了package语句,则在运行时就必需包含包名。例如,HelloWorldApp.java程序的第一行语句是:packag
6、e p1.p2;编译的时候在命令行下输入“javac -d path HelloWorldApp.java“,则HelloWorldApp.class将放在名目pathp1p2的下面,这时候运行该程序时有两种方式: 第一种:在命令行下的path名目下输入字符“java p1.p2.HelloWorldApp“。其次种:在环境变量classpath中参加名目path,则运行时在任何名目下输入“java p1.p2.HelloWorldApp“即可。 import语句:假如在源程序中用到了除java.lang这个包以外的类,无论是系统的类还是自己定义的包中的类,都必需用import语句标识,以通知
7、编译器在编译时找到相应的类文件。例如上例中的java.awt是系统的包,而javawork.newcentury是用户自定义的包。比方程序中用到了类Button,而Button是属于包java.awt的,在编译时编译器将从名目classpathjavaawt中去查找类Button,classpath是事先设定的环境变量,比方可以设为:classpath=.;d:jdk1.3lib。 classpath也可以称为类路径,需要提示大家留意的是,在classpath中往往包含多个路径,用分号隔开。例如classpath=.;d:jdk1.3lib中的第一个分号之前的路径是一个点,表示当前名目,分号后面的路径是d:jdk1.3lib,表示系统的标准类库名目。在编译过程中查找类时,先从环境变量classpath的第一个名目开头往下找,比方先从当前名目往下找java.awt中的类Button时,编译器找不着,然后从环境变量classpath的其次个名目开头往下找,就是从系统的标准类库名目d:jdk1.3lib开头往下找java.awt的Button这个类,最终就找到了。假如要从一个包中引入多个类则在包名后加上“.*“表示。