ちょっとした疑問なんですが、
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class test extends HttpServlet{
HttpServletクラスを継承していて、
上ではjavax.servlet.http.*;をインポートしていますが、HttpServletクラスは、javax.servlet.http.HttpServletですよね?
importでクラスを使うのと、extendsでクラスを扱うのとはどう違うのでしょうか?
その違いがわかなくてどうも納得いきません。
どなたか教えていただけないでしょうか?
よろしくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
No.1の補足ですが
kintaro987さんはimportとextendが一緒だと思われているませんか?
importっていうのはNo.1で書きましたが使用クラスの宣言ですので、importで宣言されたクラスを使用するにはインスタンス生成しなければなりません。
extend(継承)ですが親クラスのメソッドをインスタンス生成無しで使用できる(厳密には違いますがわかりやすく言うと)ということですね。
java.io.FileWriter fw = new java.io.FileWriter("C:\test.text");
のことですがimportでjava.ioパッケージを指定しないときの方法ですね。
///importあり///////////////////////////////////////////
import java.io.*;
public class Sample1{
…
public void fileWrite{
FileWriter fw = new FileWriter("C:\test.text");
}
}
///importなし////////////////////////////////////////////
public class Sample1{
…
public void fileWrite{
java.io.FileWriter fw = new java.io.FileWriter("C:\test.text");
}
}
上と下が一緒の意味ってことで。
参考URL:http://park.ruru.ne.jp/ando/work/who/html/cc.html
No.2
- 回答日時:
「ちょっとした疑問」と言われていますが、Javaの根幹に関わることですね。
それが分かっていないというのは、他人事ながら少々心配です。
まず、importはそのクラス(種類)を使いますよという宣言です。例えば
import myclass.Kanrengaisha;
class Eigyoubuin {
・・・
}
となっていたら、Eigyoubuinという種類に関するアクションに関して、
myclass.Kanrengaishaという種類を使いますということです。
ここでKanrengaishaクラスと言ったら、それは、myclass.Kanrengaishaクラスを意味します。
ただし、Eigyoubuinという種類とKanrengaishaという種類はあくまで別物ですので、
Eigyoubuinという種類ではKanrengaishaという種類に属する道具(メソッド)をそのまま使うことはできません。
Kanrengaishaという種類の人(インスタンス)にお願いしてやってもらうことになります。
これに対し、extendsはクラス(種類)を拡張することを意味します。
class Eigyoubuin extends Shain {
・・・
}
となっていたら、Eigyoubuinという種類はShainという種類を拡張したものです。
言い換えると、Shainの一種なのです。
ですので、Shainという種類に属する道具(メソッド)は、許可されていれば(private宣言されていなければ)
そのまま使うことができます。
・・・あまり分かりやすい例えじゃなかったかな。
No.1
- 回答日時:
importとextendはまったく別物です。
importではクラスを使うのではなくパッケージ(クラス)指定の際に使用します。
この場合のHttpServletをextendしている際に
import javax.servlet.http.*;の記述がないとすると
public class test extends javax.servlet.http.HttpServlet
というように[パッケージ名.クラス名]という指定をしなければなりません。
またインポートの記述がないとクラスを使用する際にパッケージ名の指定までしなければいけません。
例:java.io.FileWriter fw = new java.io.FileWriter("C:\test.text");
java.langパッケージは省略可能です。(StringとかObjectクラスですね。)
この回答への補足
どうもありがとうございます。
すみません、okure_donchanの例で、
java.io.FileWriter fw = new java.io.FileWriter("C:\test.text");
とありますが、ioパッケージは継承しないでimportだけで、FilWriterと使えるのはなぜでしょう?
HttpServletの話でいけば継承しないとインポートだけではjava.io.FileWriterとなってしまうということになりますよね?
こんなバカな私ですが、もう一度教えていただければ幸いです。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
推しミネラルウォーターはありますか?
推しミネラルウォーターがあったら教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
importとextendsの用い方の違いは?
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
範囲外の数値を代入したらエラ...
-
[Android+Javamail]送信できません
-
親クラスから子クラスへアクセス。
-
C# インターフェイスの実装
-
c++,ある関数のクラスから別の...
-
C++でfriendクラスにしているの...
-
Tomcatのpropertiesファイルの...
-
Java リフレクションについて
-
リフレクション
-
ASP Pageの孫継承のPage_Load
-
生成されたサーブレットのエラ...
-
ひとつのファイルにクラスは1つ?
-
関数内の変数に<summary>コメン...
-
explicitの定義は?
-
内部クラスのインスタンスを外...
-
toStringメソッドについて
-
クラス間でのデータ参照
-
[C#] OpenFileDialogによって得...
-
import と extends について
-
JAVA、JAVA Scriptについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数内の変数に<summary>コメン...
-
クラス間でのデータ参照
-
C#にて別クラスの関数を使いたい
-
import と extends について
-
c++,ある関数のクラスから別の...
-
C++でfriendクラスにしているの...
-
Java リフレクションについて
-
構造 他のクラスの構造体を別...
-
C#のクラスライブラリでメッセ...
-
無名パッケージからのインポート
-
親クラスから子クラスへアクセス。
-
Java
-
C# インターフェイスの実装
-
Tomcatのpropertiesファイルの...
-
C# log4netの使い方
-
ひとつのファイルにクラスは1つ?
-
dllエクスポート時のdeclspec(d...
-
a href="..." とServlet
-
実行可能jarファイルのファイル...
-
C#でほかのファイルにある自作...
おすすめ情報