举一个Java抽象类的例子
时间: 2024-06-15 20:07:31 浏览: 168
当谈到Java抽象类时,一个常见的例子是动物类。假设我们有多种动物,如狗、猫和鸟,它们都有一些共同的属性和行为,比如都有名字和发出声音。但是每种动物的具体实现是不同的。
为了实现这个例子,我们可以创建一个抽象类Animal,它定义了一些共同的属性和方法,但没有具体的实现。然后,我们可以创建具体的子类来继承Animal类,并实现自己特定的属性和方法。
下面是一个简单的Java抽象类的例子:
```java
// 定义抽象类Animal
abstract class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
// 抽象方法,发出声音
public abstract void makeSound();
// 具体方法,获取名字
public String getName() {
return name;
}
}
// 具体子类Dog
class Dog extends Animal {
public Dog(String name) {
super(name);
}
// 实现抽象方法
public void makeSound() {
System.out.println("汪汪汪!");
}
}
// 具体子类Cat
class Cat extends Animal {
public Cat(String name) {
super(name);
}
// 实现抽象方法
public void makeSound() {
System.out.println("喵喵喵!");
}
}
// 具体子类Bird
class Bird extends Animal {
public Bird(String name) {
super(name);
}
// 实现抽象方法
public void makeSound() {
System.out.println("啾啾啾!");
}
}
// 测试代码
public class Main {
public static void main(String[] args) {
Animal dog = new Dog("旺财");
Animal cat = new Cat("小花");
Animal bird = new Bird("小鸟");
dog.makeSound(); // 输出:汪汪汪!
cat.makeSound(); // 输出:喵喵喵!
bird.makeSound(); // 输出:啾啾啾!
System.out.println(dog.getName()); // 输出:旺财
System.out.println(cat.getName()); // 输出:小花
System.out.println(bird.getName()); // 输出:小鸟
}
}
```
这个例子中,Animal类是一个抽象类,它定义了一个抽象方法makeSound()和一个具体方法getName()。Dog、Cat和Bird类是具体的子类,它们继承了Animal类,并实现了自己特定的makeSound()方法。
阅读全文