Débutant ici.programme appelant le constructeur par défaut?
Je ne comprends pas pourquoi ce code affiche la valeur par défaut à mi-chemin. Quelqu'un peut-il prendre l'air?
désolé si le format est faux, la première fois de publication et corrigera si pas correct.
public class officemanager {
public static void main(String[] args) {
Staffmember aStaffMember = new Staffmember("Steven", "bob");
System.out.println(aStaffMember.toString());
Programmer appleprg = new Programmer("Marion", "bob", "Java");
appleprg.getLanguage();
System.out.println(appleprg.toString());
Doctor dr = new Doctor();
dr.setWard(5);
dr.setFirstName("ed");
dr.setLastName("fall");
System.out.println(dr.toString());
}
}
SORTIE
Staffmember firstName=Steven, lastName=bob
Programmer firstName=Marion , lastName=bob language Java
default constructor
Doctor firstName=ed , lastName=fall Ward 5
Désolé les gars ici la classe le constructeur par défaut est. Il est appelé la superclasse staffmember et prenom, cordes lastname sont passés à travers elle.
package oopinheritance;
public class Staffmember {
private String firstName;
private String lastName;
// default constructor
public Staffmember() {
System.out.println("default constructor");
}
// constructor
public Staffmember(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName() {
return firstName;}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;}
public void setLastName(String lastName) {
this.lastName = lastName;}
public String toString() {
return "Staffmember firstName="
+firstName+ ", lastName=" + lastName;
}
}
Voici la classe Doctor, il est une sous-classe de staffmember et il a sa propre méthode toString:
package oopinheritance;
public class Doctor extends Staffmember{
private int ward;
public int getWard() {
return ward;
}
public void setWard(int ward) {
this.ward = ward;
}
public String toString() {
return "Doctor firstName="
+this.getFirstName() + " , lastName=" + this.getLastName() + " \t
ward" + this.ward;
}
}
Vous n'avez pas montré le code qui imprime « constructeur par défaut » il est donc difficile de dire pourquoi on l'appelle et quand ... – assylias
Impossible de dire avec votre code actuel, mais il est probable que le constructeur par défaut de la classe 'Doctor' produise' constructor par défaut' lorsqu'il est appelé. – Mena
Parce que 'new Doctor()' appelle le constructeur no-arg? – Li357