我如何 "import" 一个 java 文件到另一个文件

How do i "import" a java file into another file

我目前的程序有问题,我想做的是 "import" 一个包含我的变量的文件到我的 Java 主文件中,以便它识别变量而不将它们添加到主文件中。

我创建了一个名为 Variables 的 .java 文件,代码在里面:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package destinytextgame;

import java.util.Scanner;

/**
 *
 * @author 30136246
 */
public class Variables {

    Scanner input = new Scanner(System.in);

    String first_name;
    int age;

}

我想要做的是能够使我用来编写程序代码的 Java 主文件能够识别 Variables.java 文件中的代码。当我在没有任何额外代码的情况下尝试它时,它不断弹出错误,说 first_name 未定义。有人可以帮忙吗?

您需要创建一个 实例 变量 class:

public static void main(String[] args) {
    Variables variables = new Variables();
    System.out.println("Please enter your first name:");
    variables.first_name = variables.input.next();
    System.out.println("Hi " + variables.first_name + "!");
}

您可能想尝试的一些事情:

如果您只想要一个变量,请将变量设置为 public static

实例化您的变量 class Variables vars = new Variables(); 然后从实例中调用变量 vars.first_name = "First Name";

如果您使用的是实例方法,那么我建议您使用 Getters and Setters

This 也可以帮助您更好地理解如何获得 class 变量。

静态方式:

    public class Main {

    public static void main(String[] args){
        Variables.first_name = "Hello, you.";
        System.out.println("first_name: " + Variables.first_name);
    }

    private static class Variables {

        private static Scanner input = new Scanner(System.in);

        public static String first_name;
        public static int age;
    }
}

以 OOP 方式实现:

    public class Main {

    public static void main(String[] args) {
        Variables var = new Variables();

        var.setFirst_name("First Name Here");
        System.out.println(var.getFirst_name());
    }

    private static class Variables {

        private Scanner input = new Scanner(System.in);

        public String first_name;
        public int age;

        public String getFirst_name() {
            return first_name;
        }

        public void setFirst_name(String first_name) {
            this.first_name = first_name;
        }

        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }
    }
}