gpt4 book ai didi

java - 如何使用命令行编译具有多个文件的java

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:57 25 4
gpt4 key购买 nike

我是 Java 和 Linux 的新手。我不能使用 IDE,但我安装了 jdk(显然)。我有三个要编译的 .java 文件。一个是主代码文件和两个小类。我如何使用终端编译它们?这些文件称为:

  • main.java
  • object.java (Object.class when compiled)
  • living.java (Living.class when compiled)

object.java 和 living.java 目前只有一个我想调用的构造函数

我试过了

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>;

在终端和我尝试的时候

import living.java

在我得到的代码中

error: package living does not exist
import living.java;

在终端

那我做错了什么?我必须导入预编译类或 Java 代码文件吗?我必须告诉 javac 我想使用的所有文件还是只告诉 main.java 文件?当我不尝试导入其中一个类时,main.java 编译没有错误。如果我必须使用 .jar 文件,请解释并举例说明

最佳答案

您的文件名必须与类名匹配,例如如果您有一个 class Living {...,您的文件名必须命名为 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 相同。

要运行一个类的 main 方法,您必须使用类名运行 java 可执行文件,其中包含 static void main(...) 方法,例如java Main(如果 Main 有一个 package xyz;,则为 java xyz.Main)。

切勿创建 Object.java,因为 Object 已被保留...

顺便说一句:也许您按照在线提供的众多教程中的一个来初步了解 Java...

关于java - 如何使用命令行编译具有多个文件的java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55468784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com