86 votes

Un enfermant instance qui contient <my reference=""> est nécessaire

Un enfermant instance qui contient est nécessaire

Ci-dessous est le code. positionObj est l'objet que je suis en train de l'utiliser et il me donne l'erreur ci-dessus.

On ne sait pas pourquoi.

package toolBox;
import toolBox.Secretary.positionObj;    

public class PositionManagement {
    public static HashMap<String, Secretary.positionObj> main(String vArg){
        positionObj newPosition=new positionObj();
    }
}

125voto

SLaks Points 391154

Vous essayez d'utiliser la non-statique intérieure positionObj classe sans une instance de Secretary pour qu'il appartient.
Un non-statique à l'intérieur de la classe doit appartenir à une instance de sa classe parent

Vous devrez probablement changer de positionObj d'une classe normale ou une statique à l'intérieur de la classe.

Alternativement, vous pouvez écrire someSecretary.new positionObj() pour créer une instance de l'intérieur de la classe, qui appartient à l' someSecretary de l'instance.

0voto

hvgotcodes Points 55375

Le bon générique signature

public static HashMap<String, positionObj> main(String vArg)

vous n'avez pas besoin de qualifier positionObj puisque vous avez déjà de l'importer.

Cependant, je suis assez sûr une méthode main doit se conformer à la signature ci-dessous. Si vous avez l'intention de principal être la méthode principale de votre programme, de modifier la signature

 public static void main(String[] args) {...}

vous pouvez créer une méthode statique qui retourne une Carte et à l'appeler de main.

Comme une note, toutes les classes doivent commencer par une lettre majuscule, positionObj, devrait être PositionObj.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X