① Le nom de la méthode est exactement le même que le nom de la classe (2) La valeur de retour n'est pas décrite dans la déclaration de méthode (void est également inutile)
public class Hero {
String name;
int hp;
public Hero() { //Définition du contraste
this.hp = 100; //Initialiser le champ HP avec 100
}
}
Une méthode qui écrit un processus qui est automatiquement exécuté immédiatement après avoir été nouveau
public class Main {
public static void main(String[] args) {
Hero h = new Hero(); //100 est attribué à HP en même temps que la génération instantanée
h.hp = 100; //je n'ai pas besoin
System.out.println(h.hp); //Est affiché comme 100
}
}
public class Hero {
String name;
int hp;
public Hero(String name) { //Reçoit une chaîne comme argument
this.hp = 100; //Initialiser le champ HP avec 100
this.name = name; //Initialisez le champ de nom avec la valeur de l'argument
}
}
public class Main {
public static void main(String[] args) {
Hero h = new Hero("Courageux"); //Une fois l'instant généré, la JVM exécute automatiquement le constructeur en tant qu'argument."Courageux"Est utilisé
System.out.println(h.hp); //Est affiché comme 100
System.out.println(h.name); //Présenté comme un héros
}
}
public class Hero {
String name;
int hp;
public Hero(String name) { //Constrasta ①
this.name = name;
}
public Hero() { //Constructeur ②
this.name = "Brave 2" //"Brave 2"L'ensemble
}
}
public class Main {
public static void main(String[] args) {
Hero h = new Hero("Courageux"); //Le constructeur ① est appelé car il y a un argument de chaîne de caractères
System.out.println(h.name); //Présenté comme un héros
Hero h2 = new Hero(); //Le constructeur ② est appelé car il n'y a pas d'argument
System.out.println(h2.name); //S'affiche comme Hero 2
}
}
Recommended Posts