刷新单独文件中的Java类

刷新单独文件中的Java类,java,class,Java,Class,我需要一个关于将类从一个文件移动到两个文件的复习。我的示例代码位于一个名为“external\u class\u file\u main”的文件中。程序运行正常,代码如下所示: Public class external_class_file_main { public static int get_a_random_number (int min, int max) { int n; n = (int)(Math.random() * (max - m

我需要一个关于将类从一个文件移动到两个文件的复习。我的示例代码位于一个名为“external\u class\u file\u main”的文件中。程序运行正常,代码如下所示:

Public class external_class_file_main {

    public static int get_a_random_number (int min, int max) {
        int n;
        n = (int)(Math.random() * (max - min +1)) + min;
        return (n);

    }

    public static void main(String[] args) {
        int r;
        System.out.println("Program starting...");

        r = get_a_random_number (1, 5);
        System.out.println("random number = " + r);

        System.out.println("Program ending...");

    }

}
我将get_a_random_number类移动到一个名为“external_class_file”的单独文件中。执行此操作时,会出现以下错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
The method get_a_random_number(int, int) is undefined for the type
external_class_file_main
at external_class_file_main.main(external_class_file_main.java:20)
外部类文件\u main”现在包含:

public class external_class_file_main {

    public static void main(String[] args) {
        int r;
        System.out.println("Program starting...");

        r = get_a_random_number (1, 5);
        System.out.println("random number = " + r);

        System.out.println("Program ending...");

    }

}
public class external_class_file {

    public static int get_a_random_number (int min, int max) {
        int n;
        n = (int)(Math.random() * (max - min +1)) + min;
        return (n);

    }

}
外部类文件”现在包含:

public class external_class_file_main {

    public static void main(String[] args) {
        int r;
        System.out.println("Program starting...");

        r = get_a_random_number (1, 5);
        System.out.println("random number = " + r);

        System.out.println("Program ending...");

    }

}
public class external_class_file {

    public static int get_a_random_number (int min, int max) {
        int n;
        n = (int)(Math.random() * (max - min +1)) + min;
        return (n);

    }

}

您不再可以从外部类文件主类访问get_a_random_number方法。由于您需要的方法是静态的,因此您可以按如下方式直接引用它:

public static void main(String[] args) {

    int r;
    System.out.println("Program starting...");

    r = external_class_file.get_a_random_number (1, 5);
    System.out.println("random number = " + r);

    System.out.println("Program ending...");

}

另外,如果您对方法和类使用适当的Java命名约定(例如,不使用下划线,以大写字母开头的类),您会发现编写代码和阅读问题的人会容易得多

您需要通过class
外部class\u文件
引用t
获取随机数。例如:

int r;
System.out.println("Program starting...");
r = external_class_file.get_a_random_number (1, 5);
不过,您一定要坚持Java命名约定。

这里是解决方案:

public class external_class_file_main {

    public static void main(String[] args) {
        int r;
        System.out.println("Program starting...");

        r = external_class_file.get_a_random_number (1, 5);
        System.out.println("random number = " + r);

        System.out.println("Program ending...");

    }

}

但是,请查看Java命名约定。

该方法是静态的,OP不需要创建
外部类文件的实例来访问该方法;)