package com.unit2.test; public class TestOverride { public static void main(String[] args) { Animal a=new Animal();//animal对象 Animal b=new Dog();//dog对象 a.move();//执行animal类的方法 b.move();//执行dog类的方法 } } class Animal{ public void move() { System.out.println("动物可以移动"); } } class Dog extends Animal{ public void move() { System.out.println("够可以跑和走"); } }以上代码错误
时间: 2024-03-05 18:55:05 浏览: 150
您提供的代码有一个错误,即不能在同一个Java文件中定义多个类。如果您将每个类放在单独的Java文件中,那么这个程序就不会有语法错误。下面是正确的代码:
TestOverride.java 文件:
```java
package com.unit2.test;
public class TestOverride {
public static void main(String[] args) {
Animal a = new Animal(); // animal对象
Animal b = new Dog(); // dog对象
a.move(); // 执行animal类的方法
b.move(); // 执行dog类的方法
}
}
```
Animal.java 文件:
```java
package com.unit2.test;
public class Animal {
public void move() {
System.out.println("动物可以移动");
}
}
```
Dog.java 文件:
```java
package com.unit2.test;
public class Dog extends Animal {
public void move() {
System.out.println("狗可以跑和走");
}
}
```
注意,子类中重写的方法必须与父类中被重写的方法具有相同的方法名、参数列表和返回类型。否则,编译器将不会将其识别为重写方法,而是将其视为新方法。
阅读全文