在Servlet中创建接口的对象(需要说明)?

时间:2012-09-27 21:38:38

标签: java java-ee servlets interface polymorphism

我对Servlet中的概念接口感到困惑。我想确保我明白我在做什么。因此,任何解释都将非常感激。

public class Testing implements Servlet 
{
    public void init(ServletConfig arg0) throws ServletException
   {
       /* getting some values from web.xml } */
   }

}

(i)将由tomcat调用init (ii)ServletConfig是一个交互式界面,如何创建一个接口对象?

4 个答案:

答案 0 :(得分:1)

您无法直接实例化界面。一个类必须实现该接口。然后,您可以实例化该类。

有关更多信息和示例,请查看:http://docs.oracle.com/javase/tutorial/java/IandI/usinginterface.html

答案 1 :(得分:1)

arg0可能是ServletConfig的引用,但它指向实现ServletConfig的类的对象..

例如: -

public interface A {
}

public class B implements A {
}

public class C {
    public static void main(String args[]) {
        A obj = new B();
    }
}

此处假设interface AServletConfig,而class B是实施ServletConfig的类。现在您可以传递类型为{{obj的{​​{1}} 1}}并指向类A的对象,任何方法..

答案 2 :(得分:0)

你不能实例化一个接口,但你可以实例化一个实现该接口的类。正如您所说, tomcat(Web服务器/ Servlet或JSP容器)会调用 init()方法

ServletConfig接口 instletation of servlet 期间使用。 它有像 getInitParameters(string),getServletName()等方法。 你可以查看它here

答案 3 :(得分:-2)

我认为答案3举个例子是不正确的,你为什么不在界面中使用扩展键盘? tomcat服务器是servelt规范容器的重要组成部分。所以ServletConfig也很有用。