Java,从文件导入类

标签 java windows class import

我正在编写一个java程序,想要创建一个可以调用的类来快速登录到cmd(我仍处于测试阶段,正在解决问题)。我有一个文件和一个文件夹,其中包含另一个文件。

  • LaunchProgram.java
  • 帮忙
    • Dbg.class
    • Dbg.java

LaunchProgram.class 的摘要内容(相关内容):

import helping.Dbg;

public class LaunchProgram{
    public static void main(String[] args){
        Dbg("Testing");
    }
}

Dbg.class的内容:

package helping;

public class Dbg{
    public static void main(String message){
        System.out.println(message);
    }
}

当我在cmd中执行javac Dbg.java时,它运行时没有任何错误,生成Dbg.class

当我在 cmd 中执行 javac LaunchProgram.java 时,出现以下错误:

LaunchProgram.java:5: error: cannot find symbol
                Dbg("Testing");
                ^
symbol:   method Dbg(String)
location: class LaunchProgram

我不确定发生了什么导致此问题,并且我已到处查看此问题但找不到解决方案。有谁知道导致此问题的原因以及如何解决它?

最佳答案

  1. Dbg 是一个类,而不是一个方法,并且由于它是一个辅助类,因此它不会有自己的 main() 方法。相反,它应该具有类似于 log 方法的内容,该方法可以执行日志记录并由其他类调用。

  2. 我怀疑您没有正确编译代码。您需要在包含 LaunchProgram.javahelping 目录中执行此操作:

    javac helping/Dbg.java
    javac LaunchProgram.java
    

    实际上你根本不需要第一行。第二行将编译这两个类。这两个命令都会将相应的 .class 文件放入正确的目录中。然后运行它:

    java LaunchProgram
    

基本上,您应该始终位于包结构头部的目录中。

关于Java,从文件导入类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29090591/

相关文章:

windows - 供应商文件夹不存在且无法创建

java - 我如何通过反射(reflection)性地比较 POJO 的领域

java - ThreadMXBean#getThreadAllocatedBytes 会返回分配的内存或对象的大小吗?

c++ - 有没有办法在信号量或输入事件发生之前阻塞单个线程?

java - 将子类对象转换为父类(super class)

c++ - Functor -> 必须调用对非静态成员函数的引用

javascript - 如何将javascript类构造函数参数动态映射到实例属性

java - 如何布局按钮和组合框中间?

Java 7 使用可变参数重载

windows - 禁用 Apache 中 *nocache* 文件的缓存