Plus vous avez de champs d'instance, plus votre code devient redondant. La classe a un constructeur qui utilise une méthode spéciale qui est appelée automatiquement après avoir créé une instance avec new. Puisque le constructeur est une méthode spéciale, la méthode de définition est fixe. ① Rendre le nom du constructeur identique au nom de la classe ② N'écrivez pas la valeur de retour (n'écrivez pas void) [Exemple] Cette fois, je vais en faire une personne.
Person.java
nom de classe de classe{
nom de la classe() { //constructeur ~
//Décrivez le processus que vous souhaitez effectuer lors de la création d'une instance
} //~ constructeur
}
[Exemple]
Main.java
class Main {
public static void main(String[] args) {
Person person1 = new Person();
Person person2 = new Person();
}
}
Person.java
class Person {
Person() {
System.out.println("Bonjour");
}
}
Ensuite, lors de la création d'une instance, transmettez la valeur que vous souhaitez définir dans le champ instance en tant qu'argument et définissez-la dans le constructeur. Vous pouvez utiliser l'instance avec ** this **. [Exemple]
MAin.java
class Main {
public static void main(String[] args) {
Person person1 = new Person("Sato");
person1.hello();
Person person2 = new Person("Suzuki");
person2.hello();
}
}
Person.java
class Person {
public String name;
Person(String name) { //J'essaie de faire accepter au constructeur un argument de type String
System.out.println("Bonjour");
this.name = name; //Définition de la valeur du nom du champ d'instance
}
public void hello() {
System.out.println("je" + this.name + "est");
}
}
Dans ce qui précède, la partie Sato de "new Person (" Sato ");" devient Sato (Suzuki) au nom de "Person (String name)" de Person.java, et le côté droit de "this.name = name;" On a l'impression que Sato (Suzuki) est inclus dans this.name du nom de.
Si le contenu du constructeur est dupliqué, vous pouvez appeler un autre constructeur depuis le constructeur en utilisant "this ()". this () est une méthode spéciale pour appeler le constructeur, et vous pouvez également passer des arguments à (). cela ne peut être appelé qu'au début du constructeur.
Recommended Posts