Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

エラー出ます

エラーが出てしまい困ってます。

ソース部分の、クラス名"Tomato"に赤い下線が引かれ、以下のエラーメッセージが出ます。

「public 型 Tometo はそれ独自のファイル内に定義されなければなりません。」

このメッセージの意味がよくわかりません。
どうすれば解決できますか?
わかる方いましたらアドバイス下さい。

//ソース
package jp.javadrive;

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, Java!");
    }
}

public class Tomato {
    public static void fsda(String[] args) {
        System.out.println("asdffffffff");
    }
}

5

回答

17474

閲覧

5件の回答

評価

0

あっ、使用ソフトはエクリプスです。
書き忘れましたm(_ _)m

評価

0

Hello,Tomatoを1ファイルに書いているんじゃないですか?
public クラスは1ファイルに1つしか記述できません。
つまり、Hello.javaファイル、Tomato.javaファイルの2ファイルを作成して、Hello.java内にHelloクラスを、Tomato.java内にTomatoクラスを記述すれば良いです。

もし1ファイルに記述したいのであれば、提示したコードをHello.javaファイル内に記述して、Tomatoクラスのアクセス修飾子の"public"を削除してパッケージプライベートにする必要があります。

#エラーメッセージは、コピーアンドペースト等で正確に掲載しましょう。
>public 型 Tometo はそれ独自のファイル内に定義されなければなりません。
"Tometo"ではないですよね。

評価

0

なるほど、アクセス修飾子が原因だったのですね。
教えてくださってありがとうございます!

評価

0

誤:public クラスは1ファイルに1つしか記述できません。


public class (inner class除く)はクラス名と同一名称のファイル(拡張子:java)に記述をしなくてはいけません。

評価

0

>誤:public クラスは1ファイルに1つしか記述できません。
>public class (inner class除く)はクラス名と同一名称のファイル(拡張子:java)に記述をしなくてはいけません。
おお、失礼。
そのような趣旨も自分の脳内では含んでいたのですが、
仰せのとおりの方が分かりやすいですね。
すみません。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。