2017-09-09 2 views
0

J'ai un fichier java qui contient une liste de contenus que je cherche à importer statiquement dans un autre fichier.Impossible d'importer une classe statiquement en Java

Cependant, je rencontre une erreur que le compilateur "ne trouve pas le symbole".

code Visual a également mis en évidence le code avec l'erreur:

Syntax error, static imports are only available if source level is 1.5 or greater.

J'ai suivi la syntaxe de cette post.

Constants.java

public final class Constants{ 
    private Constants(){} //Private constructor - no instantiation or subclassing. 

    // The first two members are constants, used to configure the simulator. 
    public static final int MAX_NUMBER_OF_EVENTS = 100; // Maximum number of events 
    public static final double SERVICE_TIME = 1.0; // Time spent serving a customer 
    public static final int CUSTOMER_ARRIVE = 1; 
    public static final int CUSTOMER_DONE = 2; 
} 

Simulator.java

import static Constants.*; //doesn't work. 

public class Simulator{ 
    private Event[] events = new Event[MAX_NUMBER_OF_EVENTS]; //Array to queue events - order of events not guaranteed. 

    //numOfEvents keeps track of number of events in the array. 
    //total* variables used to track simulation. 
    //*Id variables used to identify customer. 
    private int numOfEvents, totalNumOfServedCustomer, totalNumOfLostCustomer = 0; 
    private int lastCustomerId = 0; 
    private int servedCustomerId, waitingCustomerId = -1; 

    //booleans used to track customer status i.e. served or waiting. 
    private boolean customerBeingServed, customerWaiting = false; 

    //doubles used to keep track of time of total simulation and waiting time. 
    private double timeStartedWaiting, totalWaitingTime = 0; 
... 
} 

Je suis en cours d'exécution de code Visual avec le soutien de la langue de Red Hat pour Java sur 9.

JDK
+6

« importations statiques ne sont disponibles que si le niveau de la source est de 1,5 ou plus. » donc bump votre niveau à 1,6 1,7 ou 1,8 –

+0

voir https://stackoverflow.com/questions/1736730/eclipse-magic-syntax-error-varargs-are-only-available-if-source-level-is-1 par exemple (Voir aussi https://stackoverflow.com/search?q=%22only+available+if+source+level+is+1.5+or+greater.%22) –

+0

Ceci pourrait être une copie d'un de ceux listés par RC. – nullpointer

Répondre

0

Vous ne pouvez pas importer à partir du paquet par défaut.

Donnez votre classe Constantes une déclaration de forfait:

package something; 

L'importation à l'aide

import static something.Constants.*;