-4

我想保存没有名称的 Java 文件,并且我想编译或运行该文件。这在Java中是否可行?

例子:

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

我想将此文件名保存为.javaonly(扩展名前没有任何名称)。这在Java中是可能的吗?如果有可能,我们可以通过cmd编译这个没有名称的文件吗?

4

4 回答 4

7

这似乎是可能的!令我惊讶的是,您的示例编译得很好。(我用过1.7)

javac .javaA.class在同一目录中生成的命令。

但是,如果你声明你的'A'public是不可能的。(在 Java 中,所有声明为 public 的类都必须以文件名作为公共类名存储)

于 2013-10-06T20:03:29.823 回答
1

如果你尝试它,你会得到

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

所以可能不会。

于 2013-10-06T19:38:01.127 回答
1

我相信你对文件命名规则有一点误解。如果您的班级是,public那么您将收到错误class Cat is public, should be declared in a file named Cat.java,因为 JLS 要求这样做。但是,.java只要它不包含public class. 如果它确实包含 a public class,那么您将不得不给出classno 名称,这在 Java 中是不可能的。

文件内容.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包含模拟真实猫的所有必要组件。

也就是说,请不要为了你自己和任何看过你代码的人的利益而做这样的事情。

于 2013-10-06T20:00:47.523 回答
0

您可以在目录中使用 like 进行编译,而无需特定于文件名

javac  *.java
于 2013-10-06T19:36:59.890 回答