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的适配器原理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue+springboot前后端分离工程跨域问题解决方案解析
这篇文章主要介绍了vue+springboot前后端分离工程跨域问题解决方案解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-03-03SpringBoot3+SpringSecurity6前后端分离的项目实践
SpringSecurity6 的用法和以前版本的有较大差别,本文主要介绍了SpringBoot3+SpringSecurity6前后端分离的项目实践,具有一定的参考价值,感兴趣的可以了解一下2023-12-12SpringBoot中读取application.properties配置文件的方法
这篇文章主要介绍了SpringBoot中读取application.properties配置文件的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧2023-02-02
最新评论