Java: non-static variable this cannot be referenced from a static context

Fermé
FloD - Modifié le 5 nov. 2021 à 14:45
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 5 nov. 2021 à 14:49
Bonjour,

Je débute en Java grâce à un MOOC mais j'ai un souci avec mon code :

package livreTest;

public class LivreTest {
    class Livre {
        // Attributs de la classe Livre
        String titre;
        String auteur;
        int nombreDePages;
        String editeur;
    }


    // Le programme commence ici
    public static void main(String[] args) {
        Livre monLivre = new Livre ("Alice au pays des merveilles", "Lewis Carroll", 320, "Le Livre de Poche");

        System.out.println("Le titre de mon livre est : " + monLivre.titre);
        System.out.println("L''auteur de mon livre est : " + monLivre.auteur);
        System.out.println("Le nombre de pages de mon livre est  : " + monLivre.nombreDePages);
        System.out.println("Mon livre est composé de " + monLivre.nombreDePages + " pages");
        System.out.println("L''éditeur de mon livre est : " + monLivre.editeur);
    }
}

A la compilation il me renvoie une erreur "java: non-static variable this cannot be referenced from a static context"

Pouvez vous m'aider ?
Par avance, merci et bon après-midi.
A voir également:

1 réponse

KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
5 nov. 2021 à 14:49
Bonjour,

Ajoutes le mot clé
static
ligne 4 :
static class Livre {

Mais en général on devrait plutôt mettre chaque classe dans son propre fichier.
0