- - PR -
インターフェースについて
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-09-17 17:31
Javaの初心者です。
インターフェース(interface)は、メソッドを定義するテンプレートみたいなものですが、そのメソッドの実装内容をみたい時には、 何をキーワードにして見たら良いのでしょうか? 例えば、HttpServletRequest.javaのgetSessionの実装内容を見るには、どのクラスを見たら良いのでしょうか? | ||||||||
|
投稿日時: 2003-09-17 17:43
J2EE関連のインターフェースの実装はコンテナのベンダに任されています。
一般の開発者はその実装内容を気にすることなく、APIの仕様のみを見て自分のアプリケーションを開発すればよいことになります。 で、それでも実装内容が気になるようでしたら、オープンソースの製品をみることになるでしょうか。WebLogicや iPlanetは商用の製品ですので恐らくソースは公開されていません。 たとえば Tomcat4.0 であればここですね。 http://cvs.apache.org/viewcvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java?rev=1.39&content-type=text/vnd.viewcvs-markup でも、実際にこれを見る必要はないかもしれません。インターフェースをみてサーブレットを実装して、期待する挙動にならなければサポートに問い合わせればOKです。 もちろん Tomcat や Jetty などを使っているのであれば自分で確かめる必要がありますが。 | ||||||||
|
投稿日時: 2003-09-18 10:10
インギさん変な質問をして申し訳ありません。
HttpServletRequest.javaは、インターフェースなのでHTTP関係のクラスの中で、多重継承していると考えてよいのでしょうか? 私自身がその中で最も知りたかったのは、The Ja-Jakarta Site - 日本語訳のダウンロード(http://www.jajakarta.org/site/translation.html)からHTTP関係ソースをダウンロードしたのですが、HttpServletRequest.javaの getSessionメソッドの中が実装されてなかったので、それを何処で実装しているのかを教えてほしかったのです。 | ||||||||
|
投稿日時: 2003-09-18 10:41
こんにちは。米山@クロノスです。
Javaでは多重継承はできません。また、インターフェイスはサブ・インターフェイスに対して継承することはできますが、クラスに対して継承することはできません。(implementsは「継承」ではなく「実装」になります)
Ja-JakartaでダウンロードされたのはServlet APIのソースコードでしょうか? Servlet APIのHttpServletRequest.java はあくまでもインターフェイスのコードなので、実装は一切されていません。実装はインギさんがおっしゃるように各ベンダーのコンテナに任されます。 | ||||||||
1
