什么是导入的类文件以及它们从何处导入?

时间:2012-06-03 14:03:40

标签: java class import

导入类的含义是什么,从哪里导入?

实施例

package game;

import game.sprites.PlayerSprite;
import java.applet.Applet;
import java.awt.*;
import java.io.*;
import java.net.URL;
import java.util.Vector;
import litecom.Trace;
import litecom.gfxe.LoaderTarget2;
import litecom.gfxe.Timer;
import litecom.scoreclient2.ScoreClient2;

现在我知道从哪里导入了LoaderTarget2.class ScoreClient2.class和Timer.class。它们是从类自己导入的“游戏”路径将是/litecom/gfxe/Timer.class。但Vector.class在哪里?还是URL.class或Applet.class?

3 个答案:

答案 0 :(得分:0)

Vector.class,URL.class和Applet.class是从java类库中导入的,可以在“rt.jar”中找到。

答案 1 :(得分:0)

导入的类来自类路径中的JAR文件(通常)。 import一种告诉编译器你的代码需要外部代码和代码的方法。

考虑:

Bug b = new Bug();

是有效的,但Bug()在哪里定义?编译器将查看导入,直到它在类路径中找到定义Bug的类。

另外,请记住,类路径中的文件路径与java类的位置/包没有任何关系。在Bug示例中,假设Bug类在bug.jar中,Bug的包是this.that.Bug。权限允许,bug.jar可以在文件系统上任何地方。类路径只需包含其位置。在java中,我们引用类的包,而不是它们的物理位置。因此,无论bug.jar位于文件系统的哪个位置,我都可以随时导入this.that.Bug或在必要时明确引用该类:

  this.that.Bug b = new this.that.Bug();

答案 2 :(得分:0)

启动JRE时,默认情况下会有一个引导类加载器。引导类加载器包含该语言定义的所有类。它们通常位于Java安装中的文件名'classes.jar'或'rt.jar'中,但不能保证。这些类可以像任何其他类一样导入。