Java错误:应在名为的文件中声明

时间:2012-04-29 23:50:29

标签: java

我对Java很新,并试图弄清楚如何解决以下错误:

错误读取

CalculatorWithMemory.java:1: class Calculator is public, should be declared 
  in a file named Calculator.java
public class Calculator

所以我的想法是,这意味着我必须保存2个不同的.java文件。但是,这是一个类,我只有一个提供的文本块来输入我的解决方案,所以我不能将它们保存为.java文件。对解决方案的任何想法都会很棒。

提前致谢!

提供所有信息。我正在尝试解决以下问题。

问题

超类计算器包含:

  • 一个(受保护的)双实例变量accumulator,它包含计算器的当前值。

编写一个子类CalculatorWithMemory,其中包含:

  • 一个双实例变量,内存,初始化为0
  • 一种方法,save,将累加器的值分配给内存
  • 一种方法,回想一下,它将内存值分配给累加器
  • 一个方法,clearMemory,为内存分配零
  • 一个方法getMemory,它返回存储在内存中的值

6 个答案:

答案 0 :(得分:12)

正如错误消息所暗示的,如果将类声明为public,则它需要自己的.java文件。如果您不想这样做,请不要将其定义为public

答案 1 :(得分:4)

您需要命名包含类Calculator.java

的文件

答案 2 :(得分:1)

包含main的公共类的名称必须与文件名相同,在您的情况下,文件名应为Calculator.java

答案 3 :(得分:1)

当给定Java程序的类名和文件名不匹配时,会发生此错误。例如,假设以下程序保存在名为Foo.java的文件中:

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



1 error found:
File: Foo.java  [line: 1]
Error: class Bar is public, should be declared in a file named Bar.java

由于Foo与Bar不匹配,因此代码无法编译。要修复此错误,请重命名文件或更改类名。

答案 4 :(得分:1)

class Something {

}

而不是

public class Something {

}

答案 5 :(得分:0)

如果你想在同一个文件中有多个类,那么你应该只编写一个与文件同名的公共类。

您可以将所有其他类定义为“class abc {}”或使用其他修饰符然后公开。