编译一起编译Java类
我想我是新的,但是当我在一个单独的文件中从一个类中创建一个对象时,只有当该类定义在同一个目录中,或者我从库中导入它时,它才会编译。我假设它使用classpath来搜索包含的类文件,但当我向classpath添加一个随机目录(并且只将该文件放在那里)时,它仍然抱怨类没有定义,无法编译。它知道在编译时在哪里查找类
范例
public class SomeClass {
public SomeOtherClass SoC; // If this class is not in library or same directory -- won't compile.
}
# 1 楼答案
对。类需要位于类路径中,或者位于指定的
.jar
中在编译时,您将使用
然后
import
你需要什么就做什么。java文件(你的代码)# 2 楼答案
除了导入,类路径上还必须有代表类的包的文件夹
例如:
类
com.whatever.SomeClass
位于src/java/com/whatever/SomeClass.class
。 现在,类路径应该包含src/java/
,然后从那里查找包com.whatever
如果课程在一个。jar文件,您应该将jar放在类路径中。在房间里。jar您将再次拥有
com/whatever/SomeClass.class
(请注意,.jar基本上是一种类似于zip的格式)