首页 > 编程知识 正文

requestinterceptor,实现接口的类不能是抽象类

时间:2023-05-04 23:17:29 阅读:62952 作者:3742

在学习Struts2框架时,我遇到了拦截器。 最初拦截器应该在Interceptor接口之间或间接实现,但我们看到了一个名为AbstractInterceptor的抽象类。 因为之前学的JAVA知识有点忘记了,所以特意调查了抽象类和接口的关系。 之所以不想使用Interceptor接口来实现截取对象,是因为这个接口有三种方法,但实际上主要使用的只是intercept ()。 如果我们不想对其他两种方法也进行空实现,这样我们就让拦截器继承一个名为AbstractInterceptor的抽象类。 继承这个抽象类时,只需要重写名为intercept ()的方法。

以下是一些参考了别人的资料。 有关抽象类和接口的关系,请参阅:将抽象类更改为Interceptor接口的destroy (和init )方法,然后放入解释器继承此抽象类时,未在抽象类中实现的方法这里,未在抽象类中实现的方法是intercept ) )。 创建拦截器时,只需要继承此AbstractInterceptor抽象类。

抽象类和接口都是在Java中实现多态性的方法,但在此主要阐述使用抽象类实现接口的原因,不介绍二者的异同。

在java的常见用法中,要在常规类中实现接口,必须实现该接口中的所有方法。 这样,就需要实现额外的方法。

实现方法的抽象类允许实现该接口中的一些方法。 另外,如果其他类继承该抽象类,则只需要实现未在抽象类中实现的方法。

例:

抽象类仅实现接口a的方法a、b,如果c类继承b类,则仅实现用于b实现的接口c即可。

通常,c类方法a、b调用父类b的方法a、b

3358 www.Sina.com/viewplaincopy/* *接口* /接口a {公共void a (; 公共语音b (; 公共语音c (; } /** *抽象类*/abstractclassbimplementsa { public void a { } { } public void b { } }/* *具体实现类*/publiclasscextendsb

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。