面试题答案
一键面试- 定义细分接口:
- 定义
Flyable
接口,包含fly
方法:
- 定义
public interface Flyable {
void fly();
}
- 定义`Swimmable`接口,包含`swim`方法:
public interface Swimmable {
void swim();
}
- 定义`Runnable`接口,包含`run`方法:
public interface Runnable {
void run();
}
- 定义鸟类:
public class Bird implements Flyable, Runnable {
@Override
public void fly() {
System.out.println("鸟在飞");
}
@Override
public void run() {
System.out.println("鸟在跑");
}
}
- 定义鱼类:
public class Fish implements Swimmable {
@Override
public void swim() {
System.out.println("鱼在游");
}
}
这样通过将胖接口Animal
拆分成多个细分接口,使得鸟类和鱼类只需实现它们真正需要的接口,符合接口隔离原则,优化了代码结构。