MST

星途 面试题库

面试题:Java中接口隔离原则相关应用

请举例说明在Java中如何应用接口隔离原则来优化一个存在胖接口(Fat Interface)的代码结构,假设你有一个`Animal`接口,其中包含`fly`、`swim`、`run`方法,但是鸟类只需要`fly`和`run`,鱼类只需要`swim`,请给出优化后的接口和类的设计。
44.0万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  1. 定义细分接口
    • 定义Flyable接口,包含fly方法:
public interface Flyable {
    void fly();
}
- 定义`Swimmable`接口,包含`swim`方法:
public interface Swimmable {
    void swim();
}
- 定义`Runnable`接口,包含`run`方法:
public interface Runnable {
    void run();
}
  1. 定义鸟类
public class Bird implements Flyable, Runnable {
    @Override
    public void fly() {
        System.out.println("鸟在飞");
    }

    @Override
    public void run() {
        System.out.println("鸟在跑");
    }
}
  1. 定义鱼类
public class Fish implements Swimmable {
    @Override
    public void swim() {
        System.out.println("鱼在游");
    }
}

这样通过将胖接口Animal拆分成多个细分接口,使得鸟类和鱼类只需实现它们真正需要的接口,符合接口隔离原则,优化了代码结构。