Hallo Leute, ich brauche Hilfe mit diesem Code, um bessere Konstruktoren und Methoden zu verstehen. Warum Java zuerst den ersten Konstruktor aufrufen, keine Standard ?:Warum Java in diesem Fall zuerst NICHT Standardkonstruktor aufrufen?
public class Human {
private String name;
private int age;
public Human() {
this("Alex", 25);
System.out.println("Default constructor called");
}
public Human(String name, int age) {
this.name = name;
this.age = age;
System.out.println("First constructor called");
}
public Human(String name) {
this.name = name;
System.out.println("Second constructor called");
}
public String info(){
return name+" "+age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
} }
und
package com.company;
public class Main {
public static void main(String[] args) {
System.out.println("Create object 1");
Human person = new Human();
System.out.println(person.info());
System.out.println("Create object 2");
Human person2 = new Human("Mike",55);
System.out.println(person2.info());
}
}
So Ausgabe lautet:
Create object 1
First constructor called
Default constructor called
Alex 25
Create object 2
First constructor called
Mike 55
Es ** nicht ** rufen Sie den „default“ Konstruktor - wie sonst Sie 'Standardkonstruktors called' erklären Ihre Ausgabe? –
@OliverCharlesworth OP ist zu fragen, warum der Standard-Konstruktor zweiten – niceman
Ok genannt, ich verstehe, dass ich habe „dies“ aber warum die Ausgabezeichenfolge „System.out.println (“ Default-Konstruktor aufgerufen „);“ ist das zweite? – Ess