Java中的适配器原理解析
Java的适配器原理
当实现接口时,为了使所用的类中只实现需要的方法,使代码更加简洁,可以定义一个抽象类实现接口,将所需要的方法定义为 抽象方法,然后让类继承此抽象方法即可
public abstract GenericServlet implements Servlet{
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
public abstract void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException;
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}public class targetClass extende GenericServlet(){
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException{
System.out.println("Target's service is executing");
}
}
提供了GenericServlet类之后,init方法仍会执行,Tomcat创建ServletConfig对象之后,调用了init方法将ServletConfig对象传过来
改进GenericServlet
public abstract GenericServlet implements Servlet{
//config对象可能在其他方法中会被使用到,因此需要定义一个成员变量
private ServletConfig config;
@Override
//不能让子类重写init方法,因为加入config=null,会出问题,所以要给init方法加关键字final来阻止init方法被重写
public final void init(ServletConfig config) throws ServletException {
this.config=config;
//如果必须在子类重写init方法,可以重载以后一个init方法,在原来的init方法中调用即可
this.init();
}
public void init(){
}
@Override
public ServletConfig getServletConfig() {
return config;
}
public abstract void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException;
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}Servlet规范已经包含完善的GenericServlet
jakarta.servlet.GenericServlet
到此这篇关于Java中的适配器原理解析的文章就介绍到这了,更多相关Java的适配器原理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java使用阻塞队列BlockingQueue实现生产者消费者的方法
BlockingQueue是一个支持阻塞插入和移除操作的队列,常用于多线程环境下的生产者和消费者场景,文章介绍了阻塞队列BlockingQueue的概念和其在生产者消费者模式中的应用,提供了一个简单的示例,展示了如何使用ArrayBlockingQueue来实现生产者消费者模式2024-11-11
SpringBoot3.3.X整合Mybatis-Plus的实现示例
本文介绍了在Spring Boot 3.3.2中整合MyBatis-Plus 3.5.7,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2025-03-03
java并发编程专题(十一)----(JUC原子类)数组类型详解
这篇文章主要介绍了JAVA JUC原子类 数组类型详解的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下2020-07-07


最新评论