Que signifie le "statique" mot-clé le faire dans une classe?

Pour être plus précis, j'ai essayé ce code:

package hello;

public class Hello {

    Clock clock = new Clock();

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

Mais il a donné l'erreur

Ne peut pas accéder non-champ statique dans la méthode statique main

J'ai donc modifié la déclaration de clock à ceci:

static Clock clock = new Clock();

Et cela a fonctionné. Que signifie le fait de mettre le mot clé avant de la déclaration? Qu'est-ce exactement faut-il faire et/ou de limiter en termes de ce qui peut être fait à cet objet?

  • Encore une fois, rappelez-vous qu'il existe une instance de statique par catégorie par CLASSLOADER.
InformationsquelleAutor Click Upvote | 2009-01-05