Maintenant que j'ai appris un peu de Java, j'aimerais écrire sur les modificateurs statiques. Cet article est l'article du 20e jour du SLP_KBIT Partie 2 Calendrier de l'Avent 2016 - Qiita.
Veuillez signaler toute erreur.
Certaines personnes font un usage intensif de static car les méthodes statiques peuvent être appelées directement depuis la classe sans créer d'instance. Ces personnes peuvent ou non être appelées «oncle statique».
Si vous ajoutez un modificateur statique à une méthode ou à une variable membre, il devient une méthode statique ou une variable statique. Ce qui change avec le modificateur static, c'est que vous pouvez accéder à la méthode et aux variables membres sans nouveau. En d'autres termes, statique est ・ Lors de la définition d'une méthode commune -Lors de la définition des propriétés communes ・ Lorsque vous souhaitez partager des propriétés communes entre plusieurs classes C'est un modificateur utilisé pour.
Il y a plusieurs raisons à cela, mais par exemple, les méthodes et les variables statiques affecteront tout ce qui est référencé ailleurs si la valeur de la variable est modifiée à un seul endroit. Par conséquent, abuser de l'électricité statique peut prêter à confusion.
Expliquons en regardant le code.
Human.java
public class Human {
private String name;
private int satiety; //Satiété
public Human(String name, int satiety) {
this.name = name;
this.satiety = satiety;
}
public void eat(int amountfood) {
this.satiety += amountfood;
}
}
Le code ci-dessus est une classe Human pour créer un objet humain. Cette classe a deux propriétés et deux méthodes, qui sont toutes des propriétés et des méthodes non statiques. Les méthodes de propriété non statiques sont spécifiques à l'instance. Le "nom" est unique à l'instance car ce n'est pas que les "humains" ont un nom commun, mais que chaque "individu" l'a. De plus, «la faim» et «l'action de manger» sont également portées et prises individuellement par chaque personne, de sorte qu'elles sont uniques à l'instance.
Maintenant, ajoutons une propriété statique à la classe Human.
Human.java
public class Human {
static int count_Human = 0;
private String name;
private int satiety; //Satiété
Human(String name, int satiety) {
this.name = name;
this.satiety = satiety;
count_Human++;
}
public void eat(int amountfood) {
this.satiety += amountfood;
}
}
Ajout de la propriété statique "Nombre de personnes". Lorsque la méthode humaine est appelée, elle augmente le "nombre de personnes". Alors pourquoi le «nombre de personnes» est-il statique? C'est parce que "nombre de personnes" est une propriété spécifique à une classe, pas une propriété spécifique à une instance. Quel est le «nom» d '«humain»? Je ne comprends pas. Parce que le «nom» appartient à «l'individu». Alors, quel est le «nombre de personnes» des «humains»? Vous pouvez répondre à la question. Parce que le "nombre de personnes" est une propriété de la classe "humaine". De cette façon, utilisez static lorsque vous souhaitez créer des propriétés et des méthodes spécifiques à une classe.
La statique est utile, mais les abus peuvent être déroutants si les valeurs ne correspondent pas ou si vous ne savez pas quel code vous avez écrit. Alors, utilisons bien la statique et faisons de notre mieux pour ne pas devenir un oncle statique.
Citation: [Java] Qu'est-ce que statique?
Recommended Posts