请不要陷入拼写错误。我不明白为什么教授的 saluer 函数正在使用屏幕输出中的教授参数。
代码输出:
Mes hommages pour ma / mon collègue Neumann!
我的 Person 类。
class Personne {
String nom;
Personne() {
this("Anonymus");
}
Personne(String nom) {
this.nom = nom;
}
String saluer(Personne p) {
return this.nom + " salue " + p.nom + " !";
}
public String toString() {
return "La personne " + nom + ".";
}
}
我的另一堂课(教授)
class Prof extends Personne {
String nomCours = "Java";
Prof() {
}
Prof(String arg) {
this("NoName", arg);
}
Prof(String arg1, String arg2) {
super(arg1);
this.nomCours = arg2;
}
String saluer(Prof p) {
return "Mes hommages pour ma/mon collègue " + p.nom + " !";
}
String saluer(Personne p) {
return "La/le prof " + this.nom + " présente ses hommages à " + p.nom + " !";
}
String saluer(Etudiant e) {
if (this.nomCours.equals(e.nomCours))
return "Bonjour à mon étudiant(e) " + e.nom + " !";
return "Bonjour de la part de " + this.nom + " !";
}
public String toString() {
return "Le prof " + nom + " donne le cours " + nomCours + ".";
}
}
我的主要课程
public static void main(String[] args) {
Personne mixte1 = new Prof("Poincaré", "Math");
Personne mixte2 = new Prof("Neumann", "Info");
Personne mixte3 = new Etudiant("Toi", "Info");
System.out.println(mixte1.saluer(((Prof)mixte2))); // problem here
}