跟着我一起通关Java面试吧(14)

56 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情

今日份的学习继续!

问题【1】java一个接口的多个实现类可否选择执行两个呢?

可以是可以,不过没意义。 一定要做的话,就是:

C c = new A(); a.method(); c=new B(); b.method();

就可以了 但是不会这么写的,接口一般的作用就是为了定义规范 比如你写个方法public void method1(C c){ c.method();//调用,根据传入的参数的不同就会执行具体实现类的方法了,你传入A,就是A.method,传入B就是B.method }

问题【2】Spring filter和拦截器的区别和执行顺序是什么呢?

区别主要以下几点:

1.spring的拦截器与Servlet的Filter有相似之处,比如二者都是AOP编程思想的体现,都能实现权限检查、日志记录等。不同的是:

2.使用范围不同:Filter是Servlet规范规定的,只能用于Web程序中。而拦截器既可以用于Web程序,也可以用于Application、Swing程序中。

3.规范不同:Filter是在Servlet规范中定义的,是Servlet容器支持的。而拦截器是在Spring容器内的,是Spring框架支持的。

4.深度不同:Filter在只在Servlet前后起作用。而拦截器能够深入到方法前后、异常抛出前后等,因此拦截器的使用具有更大的弹性。所以在Spring构架的程序中,要优先使用拦截器。 顺序就是Spring filter先执行的。

问题【3】java语言中监听器是做什么的?

监听器:这个东西在c/s模式里面经常用到,他会对特定的事件产生产生一个处理。监听在很多模式下用到。比如说观察者模式,就是一个监听来的。又比如struts2可以用监听来启动。

Servlet监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后可以做一些必要的处理。好比如果说Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。

主要作用是:做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等。