Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java编译是如何工作的?_Java_Compilation - Fatal编程技术网

Java编译是如何工作的?

Java编译是如何工作的?,java,compilation,Java,Compilation,我有一个关于java编译或java文件编译顺序的问题 问题-我有一个小的面向对象程序,其中我有三个类。我为最大的一个类编写了java代码,我正在为另外两个类创建对象,并从另外两个类调用方法。其他两个班都很小。当我编译第一个类文件(没有编写其他两个类文件)时,收到的编译错误消息很少。然后我编写了两个新类文件(但我没有编译它们,只有.java文件),我的第一个类文件编译得很好 --所以我想了解,我是否需要编译所有Java文件来获得这些类中的所有对象引用,还是只编写Java文件就可以编译其中任何一个?

我有一个关于java编译或java文件编译顺序的问题

问题-我有一个小的面向对象程序,其中我有三个类。我为最大的一个类编写了java代码,我正在为另外两个类创建对象,并从另外两个类调用方法。其他两个班都很小。当我编译第一个类文件(没有编写其他两个类文件)时,收到的编译错误消息很少。然后我编写了两个新类文件(但我没有编译它们,只有.java文件),我的第一个类文件编译得很好


--所以我想了解,我是否需要编译所有Java文件来获得这些类中的所有对象引用,还是只编写Java文件就可以编译其中任何一个?

如果编译引用所有其他类的文件,一旦编译器在您的代码中遇到它们,它们就会被自动编译。

我会使用像maven、ant或您的IDEs构建系统这样的构建系统。这意味着你不需要担心这些问题


回答你的问题,;视情况而定。您通常不需要编译所有内容,javac可以一次编译多个源文件,有时您必须重建依赖项

谢谢Peter,这才刚刚开始,所以想要从头开始学习,我会在一段时间内开始使用maven和其他构建系统。我更愿意学习用Java编程,而不是学习如何使用这些工具感谢Shashank,这意味着如果我有所有3个文件(Java),我编译其中一个,它将编译所有3个文件,而且似乎你是对的,它自动编译了一个文件,但是main类没有编译…如果你有file1.Java,它指的是file2.Java和file3.Java,那么编译file1将自动编译file2和file3