为什么加 public 会出错?

为什么加 public 会出错,去掉就没事了?
编译器: j2sdk1.4.0
代码:

import java.awt.*;

//下面的public会导致出错.
public class Pass{
static int j=20;
public static void main(String argv[]){
int i=10;
Pass p = new Pass();
p.amethod(i);
System.out.println(i);
System.out.println(j);
}

public void amethod(int x){
x=x*2;
j=j*2;
}
}

编译错误如下:
F:\JAVA\J3\test\Test.java:3: class Pass is public, should be declared in a file named Pass.java
public class Pass{
^

出掉public 后通过.
[597 byte] By [AiQun-爱麇] at [2007-12-16]
# 1
这是你的全部代码吗?java文件名是什么?
shidu-十度 at 2007-10-23 > top of Msdn China Tech,Java,J2SE,基础类...
# 2
public类名应该与你的文件名相同,so 不能是Test.java
7-Nomad at 2007-10-23 > top of Msdn China Tech,Java,J2SE,基础类...
# 3
谢了楼上的两位,问题就是 7(Nomad)所说的.
AiQun-爱麇 at 2007-10-23 > top of Msdn China Tech,Java,J2SE,基础类...
# 4
我加了public正确呀!Pass.java才行!
结果:
10
40
shidu-十度 at 2007-10-23 > top of Msdn China Tech,Java,J2SE,基础类...