如何将.class文件与.java文件一起使用

如何将.class文件与.java文件一起使用,java,class,import,Java,Class,Import,我对java非常熟悉(我用C/C++编程),但我还没有弄清楚这一切是如何协同工作的 我不是想让任何人做我的家庭作业,我只是对一些基本的java东西感到困惑。我有一个任务要我创造一个迷宫。该作业附带了一些文件,这些文件已经预先实施,并且在理论上可行。这个文件夹给了我一些.java文件和一些.class文件。我打开了.java文件,其中大多数是没有实际代码的接口,所以我假设它的主要部分在这些.class文件中。我的问题是,如何与这些.class文件进行接口?我是否需要执行导入myClass之类的操作

我对java非常熟悉(我用C/C++编程),但我还没有弄清楚这一切是如何协同工作的

我不是想让任何人做我的家庭作业,我只是对一些基本的java东西感到困惑。我有一个任务要我创造一个迷宫。该作业附带了一些文件,这些文件已经预先实施,并且在理论上可行。这个文件夹给了我一些.java文件和一些.class文件。我打开了.java文件,其中大多数是没有实际代码的接口,所以我假设它的主要部分在这些.class文件中。我的问题是,如何与这些.class文件进行接口?我是否需要执行导入myClass之类的操作;如果我有一个名为myClass.class的文件

我尝试导入这些文件所包含的文件目录(通过Eclipse),但似乎没有显示.class文件。我猜它是在后台处理的

这是作业的链接

这是包含所有.java和.class文件的zip文件


提前谢谢

在Eclipse中将.class文件添加到项目中:右键单击项目,选择属性-->Java构建路径-->库,然后单击添加类文件夹按钮。选择包含类的文件夹。

类文件是java编译器的二进制输出。它们是java代码的等价代码,在C++或C++中,这个实例中的“肉类”可能是你要实现的。
java编译器负责查找和包含必要的文件,您可能需要
导入一些.package.name.*
以避免使用完整的类名(例如
SomeClass
而不是
some.package.name.SomeClass

。class
文件是
.java
文件的编译版本。假设
.class
文件已正确命名和打包,您应该能够像这样引用它们:

文件名:some.package.class

代码:导入一些.package


导入包后,可以对其中包含的类调用方法。

类文件是编译类,您无法在IDE中查看它们。您的IDE将允许您导入它们,但只需删除扩展

import example.some.Thing;

.java文件是最有可能用于编译.class文件的源文件。我相信这只是供你参考的

不,您不需要导入。将类文件放在同一文件夹中,以便包含它们的路径,并像普通数据类型一样简单地调用它们

例如:

myClass mc = new myClass();

如果某个方法是静态的

myClass.staticalicious();
当需要指定类文件的路径时,通常使用导入

而且,
.class
文件只是编译
.java
文件

最后,请遵循Java术语:)
它将是MyClass,而不是MyClass。

正如其他人所提到的,类文件是编译的Java文件,因此它们中没有比源文件中看到的“更多内容”。有用于接口的类文件和用于实现的类文件

我假设您只使用默认包

因此,只需将类路径设置为包含这些预编译类的目录:

e、 g.在Linux/Unix系统上编译类:

javac -classpath <dirWithClassFiles>:. .....
javac-classpath:。。。。。
和运行应用程序:

java -classpath <dirWithClassFiles>:. .....
java-classpath:。。。。。

然后,您可以在自己的类中直接使用这些预编译的类。

EclipseIDE不显示.class文件。您可以将JAR或类文件添加到项目生成路径中。然后你可以将特定的类导入到你自己的类中来使用它。

教某人使用IDE的特定接口并不是解释实际发生的事情的有效方法。我同意,但我在这里看到了很多解释实际发生的事情的答案,没有一个解释实际要做什么。非常同意Tobyovies的观点。他是从学术的角度提出问题,而不是从生产的角度。应避免给出特定于IDE的建议。:)@托比奥戴维斯有趣的是,我已经同意你的观点了,但是你继续争论。想想看。相反,在IDE中实现外部.class使用的快速诀窍帮助我理解了.class文件与C/C++静态/动态libs的区别。
java -classpath <dirWithClassFiles>:. .....