Je vais toucher Java, alors ne l'oubliez pas (si vous faites une erreur, je l'apprécierais si vous pouviez commenter) Si vous n'êtes pas familier avec les méthodes statiques et non statiques, juste pour référence ...
Si vous êtes un débutant en premier lieu, pourquoi ne pas ajouter de la statique à la méthode comme magie? Je n'ai pas compris le sens et l'ai écrit pour le moment! Lol Regardez d'abord les deux codes ci-dessous.
A.java
class A {
public static void main(String[] args){
calc(); //Appelez la méthode calc
}
static void calc(){ //calc est une méthode statique
//Traitement des calculs
}
}
A.java
class A {
public static void main(String[] args){
calc(); //Appelez la méthode calc
}
void calc(){ //calc est une méthode non statique
//Traitement des calculs
}
}
Les deux programmes essaient d'appeler la méthode calc à partir de la méthode principale. Cependant, si le programme utilise le mauvais statique, il sera compilé. "Les méthodes non statiques ne peuvent pas être référencées à partir d'un contexte statique" J'obtiens l'erreur.
Pourquoi ai-je une telle erreur? ** La méthode statique (main) ne peut pas accéder directement à la méthode non statique (calc) dans la même classe (A) </ font> ** Parce que c'est censé l'être.
Voyons maintenant comment vous pouvez appeler des méthodes dans la même classe.
Il existe deux manières principales d'appeler une méthode dans une classe.
C'est comme décrit dans [1. méthode statique] ci-dessus. Si vous ajoutez statique à une méthode, ce sera une méthode partagée au sein de la classe, elle sera donc accessible depuis d'autres méthodes.
C'est difficile à comprendre avec des mots, je vais donc le montrer également dans le code.
A.java
class A {
public static void main(String[] args){
A a = new A(); //Créez une instance appelée
a.calc(); //Appel de la méthode calc de l'instance a
}
void calc(){ //calc est une méthode non statique
//Traitement des calculs
}
}
N'est-il pas possible d'accéder à des méthodes non statiques dans la même classe à partir de méthodes statiques? Certaines personnes ont peut-être pensé. Cette méthode appelle la méthode ** calc via ** instance a en créant une instance a de classe A dans la méthode main. Par conséquent, vous n'y accédez pas directement, mais vous y accédez ** indirectement **, vous pouvez donc l'appeler.
Je vous serais reconnaissant de bien vouloir comprendre les méthodes statiques et non statiques. Peut-être que la raison pour laquelle les débutants en Java écrivent de la statique lors de l'écriture d'une méthode est d'éviter une erreur lorsqu'elle est appelée depuis la méthode principale! Lol static peut être attaché à une variable. J'écrirai un article sur les variables statiques la prochaine fois.
Merci d'avoir lu pour moi jusqu'à la fin. Natsu.
Recommended Posts