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抽象类


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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

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