如何使用命令行编译包含多个文件的java
我对Java和Linux相当陌生。我不能使用IDE,但我已经安装了jdk(显然)。我有三个.java文件要编译。一个是主代码文件和两个小类。如何使用终端编译它们? 这些文件称为:如何使用命令行编译包含多个文件的java,java,linux,class,Java,Linux,Class,我对Java和Linux相当陌生。我不能使用IDE,但我已经安装了jdk(显然)。我有三个.java文件要编译。一个是主代码文件和两个小类。如何使用终端编译它们? 这些文件称为: main.java object.java(编译时为object.class) living.java(编译时为living.class) java和living.java目前只有一个我想调用的构造函数 我试过了 javac main.java #this seems to be the right one jav
- main.java
- object.java(编译时为object.class)
- living.java(编译时为living.class)
javac main.java #this seems to be the right one
javac main.java object.java living.java
javac main.java Object.class Living.class
在终端和
import object.java;
import living.java;
import Object.class;
import Living.class;
import object;
import living;
import Object;
import Living;
在main.java文件中
但似乎什么都不管用
当我使用
import Living;
在代码中,它告诉我它遗漏了一个;或者
,当使用预编译
import Living.class
在我得到的代码中
error: class, interface, or enum expected
import <Object.class>;
在我得到的代码中
error: package living does not exist
import living.java;
在终点站
那么我做错了什么?我必须导入预编译类或java代码文件吗?我必须告诉javac我想要使用的所有文件还是只告诉main.java文件?当我不尝试导入其中一个类时,main.java编译不会出错。如果我必须使用.jar文件,请解释并给出一个示例您的文件名必须与类名匹配,例如,如果您有一个
类{…
您的文件名必须命名为Living.java
。请注意此处的字符大小写相同。如果您在Living.java
中使用package xyz;
,您还必须将文件放在子目录xyz
(例如xyz/Living.java
)
导入由import Living;
完成,情况相同。在Living.java
中使用package xyz;
时,必须使用import xyz.Living;
。
不需要导入同一包中的类
您可以使用javac Living.java
或使用包javac xyz/Living.java
编译文件。javac
将生成Living.class
xyz/Living.class文件
与Main.java相同
要运行classes main方法,必须使用类名运行java
可执行文件,其中包含静态void main(…)
方法,例如java main
(或者java xyz.main
,如果main有包xyz;
)
切勿创建对象.java
,因为对象
已被保留
顺便说一句:也许你会遵循在线提供的众多教程中的一个,来第一眼了解java…正如@Arnaud评论的那样:“请注意,如果这三个类都在同一个包中,你不需要在代码中导入它们。”
在这种情况下,我不需要导入这些类,也不需要让导入生效。请注意,如果所有三个类都在同一个包中,您不需要在代码中导入它们。首先,感谢您的回答,但@Arnaud已经对答案进行了注释。我不必使用导入,也可以生效。然后,所有教程在线电话:是的,对于更大的项目,我会记住避免将对象作为类,并给file.java和file.class取相同的名称
error: package living does not exist
import living.java;