① Der Methodenname entspricht genau dem Klassennamen (2) Der Rückgabewert ist in der Methodendeklaration nicht beschrieben (void ist ebenfalls nutzlos)
public class Hero {
String name;
int hp;
public Hero() { //Definition des Kontrasts
this.hp = 100; //Initialisieren Sie das HP-Feld mit 100
}
}
Eine Methode, die einen Prozess schreibt, der unmittelbar nach seiner Neuheit automatisch ausgeführt wird
public class Main {
public static void main(String[] args) {
Hero h = new Hero(); //100 wird gleichzeitig mit der sofortigen Generierung HP zugewiesen
h.hp = 100; //Ich brauche keine
System.out.println(h.hp); //Wird als 100 angezeigt
}
}
public class Hero {
String name;
int hp;
public Hero(String name) { //Erhält eine Zeichenfolge als Argument
this.hp = 100; //Initialisieren Sie das HP-Feld mit 100
this.name = name; //Initialisieren Sie das Namensfeld mit dem Wert des Arguments
}
}
public class Main {
public static void main(String[] args) {
Hero h = new Hero("Mutig"); //Nachdem der Moment generiert wurde, führt die JVM den Konstruktor automatisch als Argument aus."Mutig"Wird genutzt
System.out.println(h.hp); //Wird als 100 angezeigt
System.out.println(h.name); //Wird als Held angezeigt
}
}
public class Hero {
String name;
int hp;
public Hero(String name) { //Constrasta ①
this.name = name;
}
public Hero() { //Konstruktor ②
this.name = "Mutig 2" //"Mutig 2"Der Satz
}
}
public class Main {
public static void main(String[] args) {
Hero h = new Hero("Mutig"); //Der Konstruktor ① wird aufgerufen, weil ein Zeichenfolgenargument vorhanden ist
System.out.println(h.name); //Wird als Held angezeigt
Hero h2 = new Hero(); //Der Konstruktor ② wird aufgerufen, weil es kein Argument gibt
System.out.println(h2.name); //Wird als Held 2 angezeigt
}
}
Recommended Posts