举一个java中使用override的例子
时间: 2024-12-15 16:18:06 浏览: 6
在Java中,当我们想要覆盖(Override)父类的方法以提供特定于子类的行为时,可以利用多态中的方法重写。这里有一个简单的例子:
假设有一个`Shape`父类,它有一个默认的`draw()`方法,表示所有形状都能绘制的基本行为:
```java
public class Shape {
public void draw() {
System.out.println("Drawing a generic shape");
}
}
```
然后我们有两个子类,`Circle`和`Square`,它们分别从`Shape`继承并重写了`draw()`方法,提供各自的特性:
```java
public class Circle extends Shape {
@Override
public void draw() {
System.out.println("Drawing a circle");
}
}
public class Square extends Shape {
@Override
public void draw() {
System.out.println("Drawing a square");
}
}
```
当你创建这些子类的对象并调用`draw()`方法时,会根据实际对象的类型执行相应的子类方法:
```java
Shape circle = new Circle();
circle.draw(); // 输出 "Drawing a circle"
Shape square = new Square();
square.draw(); // 输出 "Drawing a square"
```
在这个例子中,`@Override`注解确保了我们正在覆盖父类的方法,而不是定义新的同名方法。
阅读全文