我如何“导入”一个java文件到另一个文件
问题描述:
我目前有我的程序有问题,我想要做的是将包含我的变量的文件“导入”到我的主Java文件,所以它可以识别变量而不用将它们添加到主文件中。我如何“导入”一个java文件到另一个文件
我创建了一个.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没有被定义。任何人都可以获得协助吗?
答
你需要创建一个变量类的实例:
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 + "!");
}
+0
这工作,我添加了一个系统出来测试,看看它是否存储在该变量,它是,谢谢你meskobalaz,这已经解决了我的问题。 –
答
,你可能想尝试几件事情:
使变量public static
如果你只想要其中的一个实例。
实例化的变量类Variables vars = new Variables();
,然后如果你正在使用的实例方法的话,我会使用建议从实例vars.first_name = "First Name";
This还可以帮助您了解如何获得类变量更好。
做它的静态方法:
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;
}
}
}
请分享为主要的Java文件 – Jabir
这些都是非静态变量的代码,所以你需要一个'Variable'的实例来访问它们。 –
你不 - 这不是Java的工作原理。如果你导入了'Variables'类,那就意味着你可以使用'Variables'这个名字而不需要完全限定它;你仍然需要创建一个* Variables的实例*。 –