-4

Java ファイルを名前なしで保存し、そのファイルをコンパイルまたは実行したい。これはJavaで可能ですか?

例:

class A {
  public void display() {
    System.out.println("Hello ..How are you..??");
  }
}

.javaこのファイル名のみ (拡張子の前に名前なし)として保存します。これは Java で可能ですか?それが可能であれば、cmd を使用して名前なしでこのファイルをコンパイルする方法よりも可能ですか?

4

4 に答える 4

7

可能のようです!驚いたことに、あなたの例はうまくコンパイルされました。(私は1.7を使用しました)

javac .javaコマンドA.classは同じディレクトリに生成されます。

'A'ただし、クラスを as として宣言すると、publicそれはできなくなります。(Java では、パブリックとして宣言されたすべてのクラスは、ファイル名をパブリック クラス名として格納する必要があります)

于 2013-10-06T20:03:29.823 に答える
1

ファイルの命名規則を少し誤解していると思います。JLSがこれを義務付けているため、クラスがそうである場合public、エラーが発生します。class Cat is public, should be declared in a file named Cat.javaただし、 というファイルを作成して.javaコンパイルすることを妨げるものは何もありませんpublic class。が含まれていた場合は、Java では不可能な no name を指定public classする必要があります。class

ファイルの内容.java

class Cat {
    private final static int four = 42;
    private final int age;
    public Cat(int age) {
        this.age = four;
    }
    public void meow() {
        System.out.println("Meow.");
    }
}

指示

javac .java

出力

Cat.class本物の猫をシミュレートするために必要なすべてのコンポーネントを含む適切な名前の 1 つのファイル。

とはいえ、あなた自身やあなたのコードの健全性を確認する人のために、このようなことをしないでください。

于 2013-10-06T20:00:47.523 に答える
1

試してみると得られる

.java:1: error: class A is public, should be declared in a file named A.java

だからおそらくそうではありません。

于 2013-10-06T19:38:01.127 に答える
0

ファイル名に依存せずに、ディレクトリ内で like を使用してコンパイルできます

javac  *.java
于 2013-10-06T19:36:59.890 に答える