Ici, nous allons introduire les méthodes de classe. Les variables de la classe qui ont static au début de la déclaration sont appelées variables de classe. De même, une méthode qui a static au début lorsqu'elle est déclarée est appelée une méthode de classe. Vous pouvez le lire si vous connaissez la structure de la classe et comment écrire et appeler la méthode. En outre, le spécificateur d'accès est omis. (Je pense que vous pouvez le lire sans le savoir.)
Les méthodes de classe ne s'instancient pas lorsqu'elles sont appelées. Utilisez le nom de la classe lors de l'appel. Il y a des choses utiles et des choses dont il faut être conscient.
J'ai résumé comment écrire et utiliser des méthodes de classe.
La façon d'écrire une méthode de classe est la suivante.
nom de classe de classe publique{
public static Type de retour Nom de la méthode(Argument type Argument){
//Contenu de la méthode
}
}
Seul le statique est ajouté. Il n'y a donc pas de configuration. Cependant, les méthodes statiques ne peuvent être utilisées qu'avec des méthodes statiques.
Méthode de classe utilisant le nom de classe sans instance
nom de la classe.Nom de la méthode(Argument type Argument);
Appelez comme.
Ensuite, écrivons un exemple de méthode de classe. Le nom de la classe est Classe d'appel.
public void Call(){
public static void Dog(){
System.out.println("Bow Wow");
}
public static void Cat(){
System.out.println("Miaou miaou");
}
public static void Monkey(){
System.out.println("Ukey");
}
}
Appelez les méthodes statiques de cette classe à partir de la méthode principale. Notez que nous appelons en utilisant le nom de la classe au lieu de l'instancier.
public class MainMethod(){
public static void main(String[] args){
Call.Dog();
Call.Cat();
Call.Monkey();
}
}
Maintenant comme ça
Bow Wow
Miaou miaou
Ukey
Sera la sortie.
Les méthodes de classe ne sont pas instanciées. En d'autres termes, il ne peut pas être distingué pour chaque instance. Par exemple, dans la classe suivante, le nombre de fois où la méthode de la classe pour chaque instance est appelée est compté par la variable instans_count. Cette variable instans_count a du sens car elle est instanciée. Les méthodes statiques n'ont donc pas de sens.
public class ClassValue2 {
private int s = 3;
private static int static_count = 0;
private int instans_count = 0;
public void add(int num){
s = num + s;
static_count = static_count + 1;
instans_count = instans_count + 1;
}
public void substract(int num){
s = -num + s;
static_count = static_count + 1;
instans_count = instans_count + 1;
}
public void multiple(int num){
s = num*s;
static_count = static_count + 1;
instans_count = instans_count + 1;
}
public void division(int num){
s = 1/num*s;
static_count = static_count + 1;
instans_count = instans_count + 1;
}
public void confirmation(){
System.out.println("static_count:" + static_count);
System.out.println("instans_count:" + instans_count);
System.out.println("s:" + s);
}
}
Recommended Posts