我有两个例子。第一是真的,第二是错的。它在某一点上是不同的:Animal
类和Mammal
类。
public class Inheritance {
public static class Animal {
public void Scream() {
System.out.println("I'm an animal");
}
}
public static class Mammal extends Animal{
//no Scream method
}
public static class Tiger extends Mammal{
public void Scream(){
System.out.println("I'm a tiger");
}
}
public static void main (String[] args){
Animal tiger = new Tiger();
tiger.Scream(); //True
}
}
第二个例子:
public class Inheritance {
public static class Animal {
// no Scream method
}
public static class Mammal extends Animal{
public void Scream(){
System.out.println("I'm a mammal");
}
}
public static class Tiger extends Mammal{
public void Scream(){
System.out.println("I'm a tiger");
}
}
public static void main (String[] args){
Animal tiger = new Tiger();
tiger.Scream(); //false. Error
}
}
谢谢:)
@:我已经编辑了。我输入了不匹配的内容。
答案 0 :(得分:4)
我测试了你的2个课程,他们都在工作。 如果你尝试这样的话,我就不会工作: 动物虎=新虎(); 在第二种情况下,因为Animal没有Scream()方法
BTW:通常,方法名称以小写字母开头; - )
答案 1 :(得分:0)
两个版本都运行完美。 在这两种情况下,它都说“老虎”