title: 适配器设计模式解决接口冲突
index_img: https://tuchuangs.com/imgs/2023/08/04/f341f43b9362c8a1.png
tags:
- Java SE
- 接口
categories:
- Java SE
hide: false
excerpt: 适配器设计模式解决接口冲突
问题描述
当一个接口中抽象方法过多,但是我只要使用其中一部分的时候,怎么办?
适配器模式
可以使用适配器设计模式,相当于转接口。
书写步骤:
- 编写中间类XXXdapter,实现对应的接口对接口中的抽象方法进行空实现
- 让真正的实现类继承中间类,并重写需要用的方法()为了避免其他类创建适配器类的对象
- 中间的适配器类用abstract进行修饰(不需要创建对象)(没有抽象方法)
public interface Myself {
public abstract void show1();
public abstract void show2();
public abstract void show3();
public abstract void show4();
public default void moth1() {
System.out.println("我是默认方法1");
}
public default void moth2() {
System.out.println("我是默认方法2");
}
}
public abstract class MyAdapter implements Myself {
@Override
public void show1() {
}
@Override
public void show2() {
}
@Override
public void show3() {
}
@Override
public void show4() {
}
}
public class My extends MyAdapter {
@Override
public void show2() {
System.out.println("适配器模式解决接口冲突");
}
public void show3() {
System.out.println("适配器模式解决接口冲突");
}
}
public class Test {
public static void main(String[] args) {
My my = new My();
my.show2();
my.show3();
my.moth1();
my.moth2();
}
}
标签:abstract,接口,public,void,设计模式,适配器
From: https://www.cnblogs.com/SimpleWord/p/17689189.html