写一个抽象类和接口的代码
时间: 2024-10-11 16:09:02 浏览: 36
在Java中,抽象类和接口用于定义一组规范而不是提供具体的实现。这里是一个简单的例子:
**抽象类示例**:
```java
// 定义一个抽象 Animal 类
public abstract class Animal {
// 抽象方法,没有具体实现
public abstract void sound();
// 具体方法
public void sleep() {
System.out.println("动物正在睡觉");
}
}
// 继承抽象类的具体子类 Dog
public class Dog extends Animal {
@Override
public void sound() {
System.out.println("狗叫汪汪");
}
}
```
在这个例子中,`Animal` 是一个抽象类,它有一个抽象方法 `sound()` 和一个具体方法 `sleep()`。`Dog` 类继承了 `Animal` 并实现了 `sound()` 方法。
**接口示例**:
```java
// 定义一个接口 IAnimal
public interface IAnimal {
// 接口方法
default void sound() {
System.out.println("动物发出声音");
}
// 可选的接口方法
void eat();
}
// 实现接口的类 Cat
public class Cat implements IAnimal {
@Override
public void sound() {
System.out.println("猫喵喵");
}
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
```
在这里,`IAnimal` 是一个接口,包含了一个默认方法 `sound()` 和一个普通方法 `eat()`。`Cat` 类实现了 `IAnimal` 接口并提供了这两个方法的具体实现。
阅读全文