一段简单的代码,如下:class TestValuableDomain{
public static void main(String[] args)
{
Bean1 b1 = new Bean1();
Bean2 b2 = new Bean2();
b1.update();
b2.save();
}
}public class Bean1{
public void update(){
int iii = 2;
iii++;
System.out.println("iii是:" + iii);
}
}class Bean2{
public void save(){
int iii = 5;
iii++;
System.out.println("iii是:" + iii);
}
}提示错误:
TestValuableDomain.java:15: 类 Bean1 是公共的,应在名为 Bean1.java 的文件中声明
public class Bean1{
^
1 错误必须去掉这里的类前面的public,才正确,为什么这样呢?非常谢谢大家啊。
public static void main(String[] args)
{
Bean1 b1 = new Bean1();
Bean2 b2 = new Bean2();
b1.update();
b2.save();
}
}public class Bean1{
public void update(){
int iii = 2;
iii++;
System.out.println("iii是:" + iii);
}
}class Bean2{
public void save(){
int iii = 5;
iii++;
System.out.println("iii是:" + iii);
}
}提示错误:
TestValuableDomain.java:15: 类 Bean1 是公共的,应在名为 Bean1.java 的文件中声明
public class Bean1{
^
1 错误必须去掉这里的类前面的public,才正确,为什么这样呢?非常谢谢大家啊。
public class TestValuableDomain{
public static void main(String[] args)
{
Bean1 b1 = new Bean1();
Bean2 b2 = new Bean2();
b1.update();
b2.save();
}
}
然后 javac TestValuableDomain.java
把Bean1类前的 关键字public 去掉
2,在编译文件时,应该编译源文件名加.jar后缀,如:javac Bean1.java;但在运行时,应该运行含有main方法的那个类,如:java TestValuableDomain
3,所以楼主的源码根本不用改,只要保证文件名是Bean1.java,然后编译javac Bean1.java 运行java TestValuableDomain应该就没有问题了`
class TestValuableDomain-->public class TestValuableDomain.
public class Bean1-->class Bean1
这是规定...
这些基础的东西相信楼主肯定知道。
但是要问为什么去掉public,这个真不好说。
在不知道之前就先认为它是默认的或sun的规定吧。