Java面向对象编程:抽象类和接口案例
在Java中,抽象类和接口是两种重要的设计模式。它们各自有自己的特点和使用场景。
- 抽象类:
- 抽象类是不能被实例化的,必须有至少一个抽象方法。
- 它可以包含非抽象的方法,这些方法可以在子类中重写(override)。
- 抽象类主要用于定义一些共有的属性和行为,然后让其子类继承并实现其中的抽象方法。
- 接口:
- 接口是一种规范,它声明了类应该实现的一组方法,但并不包含这些方法的具体实现。
- 类可以有多个接口,一个类也可能没有接口。
- 接口提供了定义行为的方式,常用于设计模式中,如观察者模式(Observer Pattern)。
示例代码:
// 抽象类示例
abstract class Animal {
String name;
public Animal(String name) {
this.name = name;
}
// 抽象方法
abstract void makeSound();
}
class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override
void makeSound() {
System.out.println("Woof, " + name);
}
}
// 接口示例
interface Musician {
void playMusic();
}
class GuitarPlayer implements Musician {
@Override
public void playMusic() {
System.out.println("Playing guitar music... ");
}
}
这段代码展示了如何在Java中使用抽象类和接口。
还没有评论,来说两句吧...