0

私はJavaの初心者です。誰かが次の概念を理解するのを手伝ってくれませんか?

私がここで行ったことはSample、私が印刷している以下で言及したクラスを として作成しようとしたことですYou are in Main Method

class Sample 
{
    public static void main(String args[]) {
        System.out.println("You are in Main Method");
    }

}

このJavaファイルをStudent.javaとして保存しました。

Eclipseでエラーは発生しませんでした。

ここで、publicこのクラスの前にa を指定しましたpublic class Sampleが、エラーが発生しています。

分かりにくいと思うので、どなたか正しい答えを教えていただけないでしょうか?

4

5 に答える 5

4

Java では、スコープを持つすべてのクラスpublicは、このクラスの名前とまったく同じ名前のファイルに保存する必要があります。という名前のクラスがある場合Sampleは、 という名前のファイルに保存する必要がありますSample.java。クラスに名前が付けられている場合Student、ファイルに名前を付ける必要がありますStudent.java

この理由の 1 つは、packages名前とclass名前を実際のシステム パスに簡単にマップできることです。

于 2013-02-01T11:34:46.573 に答える
0

クラス名が「.java」を追加したファイル名と同じであることを確認してください。したがって、クラスに名前を付ける場合Sample、ファイルの名前はSample.java. これが、クラス名がファイルの名前と異なるため、エラーが発生する理由です。

今後の参考のために、コンパイラ エラーや実行時エラーが発生した場合は、エラーをここにリストしてください。問題への対処がはるかに簡単になり、実際に問題を解決する回答が得られる可能性が高くなります。

于 2013-02-01T11:39:24.553 に答える
0

すべての public クラスは同じ名前で保存する必要があります。したがって、Sample という名前のクラスがある場合は、Sample.java という名前のファイルに保存する必要があります。

パッケージを使用する場合は、このフォルダーにファイルを保存する必要があります。com.example の例では、Sample.java をフォルダー root/com/example に保存する必要があります。

package com.example;

public class Sample{
   public static void main(String[] args){
   // put here your code
  }
}
于 2013-02-01T11:39:44.843 に答える
0

パブリック クラスは独自のコンパイル ユニット (つまり.java、クラス名と一致する必要があるファイル) を持つ必要があり、ClassName.classファイルにコンパイルされます。

このようにして、JDK は出力.classファイルを生成する場所を認識し、JVM は.classファイルのロード元を認識します。

これに対する例外は、別のファイルを必要とせず、バイト コードをOuterClassName#InnerClassName.class. .java内部クラスは、それらを定義する外部クラスと同じファイルに格納されます。

注: ClassNameOuterClassNameおよびInnerClassNameは、ユーザーが定義したクラスの名前です。

于 2013-02-01T11:40:40.020 に答える
0

最初に変更の可視性を読んで、問題をよく理解していると思います

アクセス修飾子

Same Class  Same Package    Subclass    Other packages

public YYYY protected YYYN アクセス修飾子なし YYNN private YNNN

于 2013-02-01T11:42:59.687 に答える