2012-09-27 113 views
0

我對Servlet中的概念界面感到困惑。我想確保我明白我在做什麼。所以任何解釋將不勝感激。在Servlet中創建一個接口的對象(需要解釋)?

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

} 

(ⅰ)init將被Tomcat (ⅱ)的ServletConfig是interaface,如何能的接口對象可以創建被稱爲?

回答

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這是A類型和點的反對B類的,以任何方法..

0

你不能實例化界面,但可以實例化的實現該接口的類。如您所說,init()方法tomcat(web服務器/ Servlet或JSP容器)調用。

ServletConfig接口用於您的servlet的安裝期間。 它有像getInitParameters(字符串),getServletName() ...等方法。 你可以看看它here

-2

我認爲答案3舉一個例子是不正確的,你爲什麼不在接口中使用擴展keywrod? tomcat服務器正在實施servelt規範容器,所以ServletConfig也是實現的。