2015-10-05 4 views
0

У меня в настоящее время возникают проблемы с моей программой, я пытаюсь «импортировать» файл, содержащий мои переменные, в мой основной файл 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 не определено. Может ли кто-нибудь помочь?

+0

Пожалуйста, поделитесь код основного Java файл – Jabir

+1

Те не-статические переменные, так вам понадобится экземпляр переменной Variable для доступа к ним. –

+9

У вас нет - это не то, как работает Java. Если вы импортируете класс 'Variables', это означает, что вы можете использовать имя' Variables' без его полной квалификации; вам все равно нужно создать * экземпляр * 'Variables'. –

ответ

0

Вам нужно создать экземпляр класса переменных:

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, это решило мою проблему. –

1

Несколько вещей, которые вы можете попробовать:

сделать переменные public static, если вы хотите только один экземпляр из них.

Инстанцировать ваш переменный класс Variables vars = new Variables();, а затем вызвать переменные из экземпляра vars.first_name = "First Name";

Если вы используете метод экземпляра, то я бы предложил использовать Getters and Setters

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

делать это ООП так:

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; 
     } 
    } 
} 
Смежные вопросы