Struts2 拦截器的Interceptor接口与AbstractInterceptor抽象类

Struts2 拦截器的Interceptor接口与AbstractInterceptor抽象类在学习Struts2框架的时候,遇到了拦截器,一开始拦截器都应该之间或者间接去实现Interceptor接口的,但是后来看到了AbstractInterceptor这个抽象类。之前学过的JAVA知识有点忘记了,所以特意查了一下关于抽象类和接口之间的关系。我们不想使用Interceptor接口去实现拦截器对象,是因为这个接口中有3个方法,但是我们在实际上我们主要用到的就是只有intercept()这

大家好,又见面了,我是你们的朋友全栈君。

在学习Struts2框架的时候,遇到了拦截器,一开始拦截器都应该之间或者间接去实现Interceptor接口的,但是后来看到了AbstractInterceptor这个抽象类。之前学过的JAVA知识有点忘记了,所以特意查了一下关于抽象类和接口之间的关系。我们不想使用Interceptor接口去实现拦截器对象,是因为这个接口中有3个方法,但是我们在实际上我们主要用到的就是只有intercept()这个方法。我们不想也对其他两个的方法也进行空的实现的话,这样子我们就让拦截器继承AbstractInterceptor这个抽象类。当我们继承这个抽象类的时候,我们就只需重写intercept()这个方法就可以了。

下面就是一些参考别人的资料,关于抽象类与接口的关系,应该改是抽象类它实现了Interceptor接口中的destroy()以及init()方法,然后放拦截器继承这个抽象类的时候,就只需要实现抽象类中没有实现的方法就可以了,这里抽象类没有实现的方法是intercept()。所以在创建拦截器的时候我们就只需要继承这个AbstractInterceptor抽象类就可以了。

抽象类和接口都是Java中用来实现多态的方法,在此主要说明为什么会用抽象类来实现接口,因此对两者之间的异同就不介绍了。

在java一般的用法中,如果要用普通类来实现接口,则必须实现该接口中的所有方法,这样就会导致需要实现多余的方法;

采用抽象类来实现方法,可以实现该接口中的部分方法,而且当其他类继承该抽象类时,只需要实现抽象类中未实现的方法即可。

例:

    抽象类只实现了接口A中的方法a、b,当类C继承类B时,只需要实现B中为实现的接口c即可。

   一般情况下,类C中的方法a、b都是调用父类B的方法a、b

[cpp] 
view plain  
copy

 
在CODE上查看代码片
派生到我的代码片

  1.   /** 
  2.    *接口 
  3.    */  
  4.   interface A{  
  5.          public void a();  
  6.          public void b();  
  7.          public void c();  
  8.   }  
  9.   
  10.  /** 
  11.   *抽象类 
  12.   */      
  13.  abstract class B implements A{  
  14.          public void a(){}  
  15.          public void b(){}  
  16.  }  
  17.    
  18.  /** 
  19.    * 具体实现类 
  20.    */  
  21.   public class C extends B{  
  22.          public void c(){}     
  23. }  
Struts2 拦截器的Interceptor接口与AbstractInterceptor抽象类


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146454.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Clion2022.01激活码_在线激活

    (Clion2022.01激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html40ZKSWCX8G-eyJsaWNlbnNlSWQi…

    2022年4月2日
    113
  • 超详细的MySQL8.0.20安装教程及其安装问题处理

    超详细的MySQL8.0.20安装教程及其安装问题处理文章目录:官网下载MySQL的安装包添加并配置my.ini文件配置系统变量并初始化MySQL安装并启动MySQLNavicat连接MySQL并修其密码安装过程中常见问题及其解决方法官网下载MySQL的安装包下载链接如下:MySQL8.0.20版本其他版本:MySQL8.0.16版本MySQL8.0.20版本压缩包解压后如下图所示:添加并配置my.ini文件在原解压根…

    2022年4月29日
    44
  • google搜索引擎怎么用_日本搜索引擎

    google搜索引擎怎么用_日本搜索引擎搜索引擎命令大全!1、双引号把搜索词放在双引号中,代表完全匹配搜索,也就是说搜索结果返回的页面包含双引号中出现的所有的词,连顺序也必须完全匹配。bd和Google都支持这个指令。例如搜索:“seo方法图片”2、减号减号代表搜索不包含减号后面的词的页面。使用这个指令时减号前面必须是空格,减号后面没有空格,紧跟着需要排除的词。Google和bd都支持这个指令。

    2025年10月21日
    2
  • xshell怎么配置_winedt使用教程

    xshell怎么配置_winedt使用教程一、XShell的作用二、下载XShell三、安装XShell四、使用XShell连接Linux服务器Xshell免费版官网下载地址:https://www.xshell.com/zh/free-for-home-school/如官网打不开,可以从网盘下载链接:https://pan.baidu.com/s/1NJGWZHkByakOkQpKfkc7Yg提取码:r0ds

    2025年10月17日
    4
  • 《大话数据结构》读后感_数据结构读书笔记5000

    《大话数据结构》读后感_数据结构读书笔记5000《大话数据结构》读后总结(七)

    2022年4月21日
    133
  • 基于Python编程实现简单网络爬虫实现

    基于Python编程实现简单网络爬虫实现编写一个非常轻量的python代码,实现网络爬虫

    2022年5月18日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号