1
ServletContext context=getServletContext();

ここで、ServletContextはインターフェースです。

コンテキストは、ServletContextのタイプです

getServletContextServletContextサーブレットに関する情報を返すインターフェイスのメソッドです。

ここで私の質問は、インターフェイスのコンテキストオブジェクトを作成しているということです。インターフェイスのオブジェクトを作成するにはどうすればよいですか?

そうでない場合は、ServletContectのオブジェクトを作成していますが、ここで正確に何を行っているのでしょうか。ServletContextとgetServletContext()の間のマッピングは何ですか。

事前に感謝の気持ちを段階的に説明してください。

4

3 に答える 3

0

あなたの質問はHow can we create an object for interface?
Answer is :、インターフェースのオブジェクト(任意のインターフェース)を作成することはできませんが、インターフェースが実装されたクラスのオブジェクトの参照を割り当てることができます(これは有効であり、OOPでポリモーフィズムと継承を提供します)すべてをよりよく理解するためにHead First Core Java
を読むことをお勧めしますこれらの事。 インターフェイスの後にキーワードを呼び出すことはできず、セミコロン Ex で終わります。
new

ServletContext context = new ServletContext(); //invalid. cannot end with semicolon

しかし、何度か読んだ後、次のような構成/構文が見つかります

ServletContext context = new ServletContext() {    // see semicolon absent after ()

// and all methods here with some definition

};  

これは ServletContext インターフェースを実装している匿名クラスです。

次のような構造が表示された場合

Thread t = new Thread() {  //semicolon is absent after () bracket

};

クラス Thread を拡張している匿名クラスであることを意味します。

于 2013-03-09T11:54:02.763 に答える
0

getServletContextServletContextインターフェースのメソッドではありません。GenericServletが実装しているServletConfigインターフェースのメソッドであり、これにより、 GenericServletを拡張しているHttpServletで使用できます。ServletContextは Web サーバーによって実装される可能性があり、それらはGenericServletでそのクラスのオブジェクトを返す可能性があります。

この説明がお役に立てば幸いです。

于 2013-03-10T14:40:18.570 に答える
0

あなたの質問は、インターフェイスからオブジェクトを作成する方法だと思います。

答えはできません。

ただし、インターフェイス名を使用して、インターフェイスの参照をクラス オブジェクトに割り当てることができます。

(これは、匿名クラス(オブジェクト内)を作成できることを意味します)。

詳細については、javatpoint インターフェイスのレッスンを参照してください。

于 2018-08-21T07:41:22.003 に答える