[JAVA] Aucune instance englobante de type Hoge n'est accessible.

Aperçu

J'ai eu une erreur lorsque j'ai écrit ce code, alors prenez note.

public class Hoge {
    private class Fuga(){
        public String name;
    }
    public static void main(String[] args) {
        Fuga fuga = new Fuga();
    }
}
No enclosing instance of type Hoge is accessible. 
Must qualify the allocation with an enclosing instance of type Hoge 
(e.g. x.new A() where x is an instance of Hoge).

Je ne peux pas accéder à l'intérieur de l'erreur de classe Hoge!

Solution

Faire de Fuga une classe statique

public class Hoge {
    //Faites-en une classe statique
    private static class Fuga(){
        public String name;
    }
    public static void main(String[] args) {
        Fuga fuga = new Fuga();
    }
}

Générer Hoge puis Fuga

public class Hoge {
    private static class Fuga(){
        public String name;
    }
    public static void main(String[] args) {
        //Créez une instance de Hoge puis une instance de Fuga
        Hoge hoge = new Hoge();
        Fuga fuga = hoge.new Fuga();
        //Tu peux le faire
        Fuga fuga2 = new Hoge().new Fuga();
    }
}

Recommended Posts

Aucune instance englobante de type Hoge n'est accessible.
Qu'Est-ce que c'est? ~ 3 types de "non" ~
Aucun bean éligible de type Correction d'erreur
À propos de la clôture de l'instance 2