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

解決済みの質問

import について

最近JAVAの勉強を始めたばかりの超初心者です。

専門用語(クラス、オブジェクト、メソッド等)に四苦八苦していますが、何とか頑張っています。

で、質問の件なのですが以下をコンパイル出来ません。

//printer.java
public class printer
{
public void print()
{
System.out.println("hello from java");
}
}


//app.java
import printer;

public class app
{
public static void main (String[] args)
{
(new printer()).print();
}
}


printer.java → printer.class のコンパイルは出来ますが

app.java をコンパイルしようとすると、以下のエラーが出ます


~$ javac app.java
app.java:1: '.' がありません。
import printer;
^
app.java:1: ';' がありません。
import printer;
^
エラー 2 個


printer.javaとapp.javaとprinter.classはすべてカレントディレクトリに入っています。

ただ、app.javaのファイルでimportの行を削除するとキチンとコンパイル実行できてしまいます。

これがなぜか分からない(自分はimportあたりが怪しいと思う)のでタイトルを「importについて」としました。

どなたか原因分かる方いらっしゃいましたら、ご教示よろしくお願いします。

投稿日時 - 2012-02-18 03:58:08

QNo.7311897

暇なときに回答ください

質問者が選んだベストアンサー

同一ディレクトリ内だと、packageで特別な指定でもしていない限り、同一パッケージなので、import文をわざわざ書かなくてもファイル名と同じ名前で中に作ったpublicなクラスは使えます。

どうしてもimportをしたい場合は、importされる側にて、packageでimportする際のパッケージ名を宣言しましょう。あと、それに応じてディレクトリ構成も変えて、class pathも設定したほうが良いです。

余談ですが、Javaではクラス名の頭文字を大文字にすることが多いです。

投稿日時 - 2012-02-18 09:33:23

お礼

回答ありがとうございます。

import 行は要らなかったんですね。


>余談ですが、Javaではクラス名の頭文字を大文字にすることが多いです。
そうなんですか!勉強になります。

投稿日時 - 2012-02-19 01:24:34

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

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

回答(1)