みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Java importの*

Javaでパッケージ利用の際に
java.io.*
などと最後に*をつけるとioパッケージ全てを使えると聞きました

Javaの入門サイトの例文を見てると
javax.servlet.*
javax.servlet.http.*
と記載がある場合があります

javax.servlet.*はservletパッケージ全て使えるという意味ではないのでしょうか?
そうならばjavax.servlet.http.*を記述する意味は何でしょうか?

投稿日時 - 2019-02-15 16:43:13

QNo.9588117

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>Javaでパッケージ利用の際に
>java.io.*
>などと最後に*をつけるとioパッケージ全てを使えると聞きました

どこで、そのような事を聞かれたのかわかりませんがimportに、そのような意味はないです。
クラスを使用する際に、パッケージ名も含めた完全修飾名で書かないといけないのをパッケージ名を省略できるようになるだけです。
例えば、java.io.InputStream と書く必要があったのが import java.io.InputStream; することで InputStream と書けるようになります。

import java.io.*;
はjava.ioパッケージのクラス全てに対してのimportになります。
対象はクラスですから
import javax.servlet.*;
はjavax.servletパッケージのクラスが対象なので別パッケージであるjavax.servlet.httpパッケージのクラスはimportされません。

投稿日時 - 2019-02-16 11:41:24

お礼

ありがとうございます
パッケージが別なのですね

投稿日時 - 2019-02-16 14:11:53

ANo.1

WDY

>javax.servlet.*はservletパッケージ全て使えるという意味ではないのでしょうか?
そういう意味ですね

>そうならばjavax.servlet.http.*を記述する意味は何でしょうか?
無いですね。


無いのですが
*を使うとどのパッケージ、どのクラスを使用するのか分からないので
可読性が悪くなるのであえて載せていると思います。

可読性が悪いのを気にするのであれば使用する全部のパッケージ、クラスを書く方がいいんですけどね

投稿日時 - 2019-02-15 17:12:01

お礼

ありがとうございます。
大変分かりやすいご説明でした

投稿日時 - 2019-02-16 08:35:22

あなたにオススメの質問