ちょっとした疑問なんですが、
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で質問しましょう!
似たような質問が見つかりました
- Java リレーションエンティティクラスとは何ですか? 2 2023/02/10 00:02
- IT・エンジニアリング プログラマの仕事内容 4 2022/08/13 00:34
- その他(プログラミング・Web制作) tkinterのimport文の書き方 2 2022/10/14 21:17
- その他(Microsoft Office) Microsoft Edgeの「ニュースと関心事項」についてお聞きします。 3 2023/05/22 12:08
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
「平成」を感じるもの
「昭和レトロ」に続いて「平成レトロ」なる言葉が流行しています。 皆さんはどのようなモノ・コトに「平成」を感じますか?
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
importとextendsの用い方の違いは?
Java
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
継承したクラス側のクラス名の取得
-
関数内の変数に<summary>コメン...
-
C# インターフェイスの実装
-
c++,ある関数のクラスから別の...
-
構造 他のクラスの構造体を別...
-
回答が分かりません。どなたか...
-
アップキャスト、ダウンキャス...
-
C#で処理中の状況をStatusLabel...
-
Java リフレクションについて
-
Tomcatのpropertiesファイルの...
-
ひとつのファイルにクラスは1つ?
-
JSPでbeanプロパティ(配列)を...
-
範囲外の数値を代入したらエラ...
-
C++ クラス名の前のdefine
-
import と extends について
-
C#のクラスライブラリでメッセ...
-
JTable ArrayList 表示されない
-
オーバーロードしたメンバ関数...
-
実行可能jarファイルのファイル...
-
visual studioのデザイナ画面で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数内の変数に<summary>コメン...
-
範囲外の数値を代入したらエラ...
-
C#にて別クラスの関数を使いたい
-
クラス間でのデータ参照
-
c++,ある関数のクラスから別の...
-
visual studioのデザイナ画面で...
-
C++でfriendクラスにしているの...
-
import と extends について
-
Java リフレクションについて
-
C#のクラスライブラリでメッセ...
-
Java
-
C#でほかのファイルにある自作...
-
ひとつのファイルにクラスは1つ?
-
継承したクラス側のクラス名の取得
-
C# インターフェイスの実装
-
super.paint(g)を呼び出す意...
-
親クラスから子クラスへアクセス。
-
a href="..." とServlet
-
無名パッケージからのインポート
-
実行可能jarファイルのファイル...
おすすめ情報