资讯专栏INFORMATION COLUMN

Java™ 教程(管理源文件和类文件)

ghnor / 732人阅读

管理源文件和类文件

Java平台的许多实现依赖于分层文件系统来管理源文件和类文件,尽管Java语言规范不要求这样做,策略如下。

将类、接口、枚举或注解类型的源代码放在文本文件中,该文件的名称是类型的简单名称,其扩展名为.java,例如:

//in the Rectangle.java file 
package graphics;
public class Rectangle {
   ... 
}

然后,将源文件放在一个目录中,该目录的名称反映了该类型所属的包的名称:

.....graphicsRectangle.java

假定Microsoft Windows文件名分隔符反斜杠(对于UNIX,使用正斜杠),包成员的限定名称和文件的路径名是并行的。

类名 — graphics.Rectangle

文件的路径名 — graphicsRectangle.java

你应该记得,按照惯例,公司使用其反向的互联网域名作为其包名,Example公司的互联网域名是example.comcom.example在它的所有包名之前,包名称的每个组件对应一个子目录,因此,如果Example公司有一个包含Rectangle.java源文件的com.example.graphics包,它将包含在一系列子目录中,如下所示:

....comexamplegraphicsRectangle.java

编译源文件时,编译器会为其中定义的每种类型创建不同的输出文件,输出文件的基本名称是类型的名称,其扩展名为.class,例如,如果源文件是这样的:

//in the Rectangle.java file
package com.example.graphics;
public class Rectangle {
      . . . 
}

class Helper{
      . . . 
}

然后编译的文件将位于:

comexamplegraphicsRectangle.class
comexamplegraphicsHelper.class

.java源文件一样,已编译的.class文件应位于一系列反映包名称的目录中,但是,.class文件的路径不必与.java源文件的路径相同,你可以多带带排列源目录和类目录,如下所示:

sourcescomexamplegraphicsRectangle.java

classescomexamplegraphicsRectangle.class

通过这样做,你可以将classes目录提供给其他程序员而不会泄露你的源文件,你还需要以这种方式管理源文件和类文件,以便编译器和Java虚拟机(JVM)可以找到程序使用的所有类型。

classes目录的完整路径classes,称为类路径,并使用CLASSPATH系统变量进行设置,编译器和JVM都通过将包名称添加到类路径来构造.class文件的路径,例如,如果

classes

是你的类路径,包名是:

com.example.graphics

那么编译器和JVM查找.class文件位于:

classescomexamplegraphics.

类路径可能包含多个路径,用分号(Windows)或冒号(UNIX)分隔,默认情况下,编译器和JVM搜索当前目录和包含Java平台类的JAR文件,以便这些目录自动位于类路径中。

设置CLASSPATH系统变量

要显示当前的CLASSPATH变量,请在Windows和UNIX(Bourne shell)中使用以下命令:

In Windows:   C:> set CLASSPATH
In UNIX:      % echo $CLASSPATH

要删除CLASSPATH变量的当前内容,请使用以下命令:

In Windows:   C:> set CLASSPATH=
In UNIX:      % unset CLASSPATH; export CLASSPATH

要设置CLASSPATH变量,请使用以下命令(例如):

In Windows:   C:> set CLASSPATH=C:usersgeorgejavaclasses
In UNIX:      % CLASSPATH=/home/george/java/classes; export CLASSPATH
上一篇:使用包成员 下一篇:什么是异常?

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72948.html

相关文章

  • Java教程(目录)

    Java™ 教程 Java教程是为JDK 8编写的,本页面中描述的示例和实践没有利用在后续版本中引入的改进。 Java教程是希望使用Java编程语言创建应用程序的程序员的实用指南,其中包括数百个完整的工作示例和数十个课程,相关课程组被组织成教程。 覆盖基础知识的路径 这些教程以书籍的形式提供,如Java教程,第六版,前往Amazon.com购买。 入门 介绍Java技术和安装Java开发软件并使用...

    lifesimple 评论0 收藏0
  • Java教程(创建和使用包)

    包 本课程解释了如何将类和接口捆绑到包中,如何使用包中的类,以及如何安排文件系统以便编译器可以找到源文件。 创建和使用包 为了使类型更易于查找和使用,避免命名冲突和控制访问,程序员将相关类型的组捆绑到包中。 定义:包是一组提供访问保护和名称空间管理的相关类型,请注意,类型引用类、接口、枚举和注解类型,枚举和注解类型分别是特殊的类和接口,因此在本课中通常将类型简称为类和接口。 作为Java平台一部...

    617035918 评论0 收藏0
  • Java教程(什么是异常?)

    什么是异常? exception一词是exceptional event这一短语的简写。 定义:异常是在程序执行期间发生的事件,它会破坏程序指令的正常流程。 当方法中发生错误时,该方法会创建一个对象并将其交给运行时系统,该对象称为异常对象,包含有关错误的信息,包括错误发生时的类型和程序状态,创建异常对象并将其交给运行时系统称为抛出异常。 在方法抛出异常后,运行时系统会尝试查找处理它的内容,处理异常...

    Enlightenment 评论0 收藏0
  • Java教程(使用包成员)

    使用包成员 组成包的类型称为包成员。 要从其包外部使用公共包成员,你必须执行以下操作之一: 通过其完全限定名称引用该成员 导入包成员 导入成员的整个包 每种情况都适用于不同的情况,如以下各节所述。 通过其完全限定名称引用包成员 到目前为止,本教程中的大多数示例都通过简单名称引用类型,例如Rectangle和StackOfInts,如果你编写的代码与该成员位于同一个包中,或者已导入该成员,则可以...

    Pines_Cheng 评论0 收藏0
  • Java教程(抽象方法和类

    抽象方法和类 抽象类是一个声明为abstract的类 — 它可能包括也可能不包括抽象方法,抽象类无法实例化,但可以进行子类化。 抽象方法是在没有实现的情况下声明的方法(没有大括号,后跟分号),如下所示: abstract void moveTo(double deltaX, double deltaY); 如果一个类包含抽象方法,那么该类本身必须被声明为abstract,如: public abs...

    Amio 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<