L'erreur la plus courante des débutants est d'essayer d'utiliser une propriété de classe de manière "statique" sans créer une instance de cette classe. Vous obtenez alors le message d'erreur mentionné :
Vous pouvez soit rendre la méthode non statique statique, soit créer une instance de cette classe pour utiliser ses propriétés.
Pourquoi ? Je ne demande pas de solutions. Je serais reconnaissant de savoir quelle est la raison derrière cela. La raison fondamentale!
private java.util.List<String> someMethod(){
/* Some Code */
return someList;
}
public static void main(String[] strArgs){
// The following statement causes the error. You know why..
java.util.List<String> someList = someMethod();
}
La méthode que vous essayez d'appeler est une méthode de niveau instance ; vous n'avez pas d'instance.
Les méthodes statiques
appartiennent à la classe, les méthodes non-statiques
appartiennent aux instances de la classe.
Une méthode statique relie une action à un type d'objet, tandis que la méthode non statique relie une action à une instance de ce type d'objet. Typiquement, il s'agit d'une méthode qui fait quelque chose par rapport à l'instance.
Ex :
la classe Car pourrait avoir une méthode wash, qui indiquerait le lavage d'une voiture particulière, alors qu'une méthode statique s'appliquerait au type car.