![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.2ベストアンサー
- 回答日時:
javaのimport文は、C言語のインクルードとは全く違います。
C言語の#includeは、他のソースファイルを自分のソースに挿入することを意味しますが、
javaのimport文は、パッケージ名を省略したクラスのパッケージ名をコンパイラに教えるためのものです。
従って、ソースファイル中のクラス名を完全な形で記述するなら、import文は書く必要がありません。
例えば、java.util.ArrayListを使いたい場合、
ソース中の記述を全て、
java.util.ArrayList list = new java.util.ArrayList();
のように、パッケージまで指定するのであれば、
import java.util.ArrayList;
の記述は必要ありません。
逆に、
ArrayList list = new ArrayList();
のように記述したいのであれば、ArrayListがどのパーケージのものかをコンパイラに教えるため、
import java.util.ArrayList;
あるいは、
import java.util.*;
の記述が必要です。
詳細な回答ありがとうございました。
たぶん、C の#define みたいなものかと自分なりに理解してみました。
持っていた書籍が初心者向けなため、パッケージの作り方まで指南がありませんでしたが、お答えをきっかけに情報を集め自作することができました。
これからもコツコツ精進していきたいと思います。
No.1
- 回答日時:
CのインクルードとJavaのimportでは概念が違います。
#includeでは、ソースファイルをそこに挿入するわけですが、
importはパッケージ外のクラスを使えるようにするものです。
importするものは、ソースファイルではなく、
コンパイルして.classファイルにしておく必要があります。
(ただし適切なディレクトリに置いておけば、
自動的にコンパイルしてくれます)
同じパッケージのクラスファイルは、
importする必要はありません。
で「同じパッケージ」というのは、二つ意味があります。
package文を使った場合で、同じパッケージ宣言をしていること。
package文を使わない状態(無名パッケージ)で、
同じディレクトリに入っていること、です。
ありがとうございました。
お教えていただいた情報を元に調べてみた結果、
ようやく概念がわかりました。
たぶん、C の#define みたいなものかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- その他(クラウドサービス・オンラインストレージ) Google ColabでGoogleドライブのサブフォルダにファイルを生成する方法 1 2022/10/31 17:37
- 電子書籍 電子書籍の開き方教えて 2 2022/04/30 07:04
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- C言語・C++・C# pythonで外部のファイルを読み込む際のエラー 2 2022/04/12 19:22
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- Java dokojavaのコンパイルについて 1 2022/10/06 18:42
- C言語・C++・C# C言語について。 7 2023/01/26 16:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
Eclipse「リフレッシュ」と「ク...
-
javaクラスファイルをEclipseで...
-
SVFの設定について:クラスパス...
-
classファイルについて
-
EclipseでHTTP404エラーが出る。
-
earファイルを展開する方法
-
JAVAでのexeファイル作成
-
【Eclipse】パッケージ・エクス...
-
eclipse でclassesフォルダーが...
-
「メイン・マニフェスト属性が...
-
C#でネットワーク上のMACアドレ...
-
DOMParserを使いたいのですが
-
vbs で jar ファイルを起動させ...
-
JADで*.jarごとデコンパイルす...
-
Linuxで作成windowsで実行するjava
-
classファイルが作成されない
-
コンパイルをしようとするとエ...
-
javax.mailがimportできない
-
Javaアプリケーションのアイコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
classファイルについて
-
javaクラスファイルをEclipseで...
-
Eclipse「リフレッシュ」と「ク...
-
SVFの設定について:クラスパス...
-
eclipse でclassesフォルダーが...
-
【Eclipse】パッケージ・エクス...
-
earファイルを展開する方法
-
EclipseでHTTP404エラーが出る。
-
jdbcドライバのjarファイルにク...
-
プログラム実行の際に、「ソー...
-
「メイン・マニフェスト属性が...
-
「削除するか、クラスパスの正...
-
コンパイルをしようとするとエ...
-
java クラスファイルとソースコ...
-
『ClassNotFoundException: org...
-
javax.mailがimportできない
-
ResourceBundleクラスの使い方
-
macでのファイル場所指定
-
「main メソッドを持つクラスが...
おすすめ情報