आनं*_*नंद 3 java inheritance overriding super
我有三个名为Human.java,Superhero.java和Run.java的类。超级英雄扩展人类和方法介绍()被覆盖在超级英雄与调用父类的介绍() 。但是,当我制作一个超级英雄对象并调用Introduction方法时,它不会打印基类方法的返回值。怎么了?提前致谢。
人.java
public class Human implements Comparable<Human> {
private int age;
private String name;
public Human(String givenName, int age) {
this.name = givenName;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String introduce() {
return "Hey! I'm " + name + " and I'm " + age + " years old.";
}
@Override
public int compareTo(Human H1) {
if(this.getAge() > H1.getAge())
return 1;
else if (this.getAge() < H1.getAge())
return -1;
else
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
超级英雄
public class Superhero extends Human {
private String alterEgo;
private int age;
private String name;
public Superhero(String givenName, int age, String alterEgo) {
super(givenName, age);
this.alterEgo = alterEgo;
}
public String getAlterEgo() {
return alterEgo;
}
@Override
public String introduce(){
super.introduce();
return "I am also known as " + alterEgo + "!";
}
}
Run Code Online (Sandbox Code Playgroud)
运行.java
public class Run {
public static void main(String[] args) {
Superhero superhero = new Superhero("Bruce", 26, "Batman");
System.out.println(superhero.introduce());
}
}
Run Code Online (Sandbox Code Playgroud)
@Override
public String introduce(){
super.introduce();
return "I am also known as " + alterEgo + "!";
}
Run Code Online (Sandbox Code Playgroud)
SuperHero类的describe方法将转储由调用返回的String传递给基本方法并返回"I am also known as " + alterEgo + "!"。
您需要返回String基类的实现+ SuperHero-特定字符串返回的串联结果:
@Override
public String introduce(){
return super.introduce() + "I am also known as " + alterEgo + "!";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |