package javaapplication1;
class WaterSource{
private String s;
public WaterSource() {
System.out.println("WaterSource()");
s = "constructed";
}
public String toString() {
return s;}
}
public class SprinkLerSystem{ //在此处为public就不可以,出现这样的错误? /*“D:\Documents and Settings\Administrator\JavaApplication1\src\javaapplication1\Main.java:14: 类 SprinkLerSystem 是公共的,应在名为 SprinkLerSystem.java 的文件中声明
”*/ private String v1,v2,v3,v4;
private WaterSource source = new WaterSource();
private int i;
private float f;
public String toString() {
return
"v1=" + v1+" "+
"v2=" + v2+" "+
"v3=" + v3+" "+
"v4=" + v4+" "+
"source=" + source;
}
public static void main(String[] args) {
SprinkLerSystem a = new SprinkLerSystem();
System.out.println(a);
}
}问题在注释的部分,请给出出错的原因,并怎么改可以用public?谢谢~~
class WaterSource{
private String s;
public WaterSource() {
System.out.println("WaterSource()");
s = "constructed";
}
public String toString() {
return s;}
}
public class SprinkLerSystem{ //在此处为public就不可以,出现这样的错误? /*“D:\Documents and Settings\Administrator\JavaApplication1\src\javaapplication1\Main.java:14: 类 SprinkLerSystem 是公共的,应在名为 SprinkLerSystem.java 的文件中声明
”*/ private String v1,v2,v3,v4;
private WaterSource source = new WaterSource();
private int i;
private float f;
public String toString() {
return
"v1=" + v1+" "+
"v2=" + v2+" "+
"v3=" + v3+" "+
"v4=" + v4+" "+
"source=" + source;
}
public static void main(String[] args) {
SprinkLerSystem a = new SprinkLerSystem();
System.out.println(a);
}
}问题在注释的部分,请给出出错的原因,并怎么改可以用public?谢谢~~
你是Main.java,要是这么写public class SprinkLerSystem{文件名就应该为SprinkLerSystem.java
JAVA中的文件名要和public的类名相同的,因为classLoader在加载一个类的时候是根据那个.class的文件来找的,所以要是
不一致的话就没法new了
我感觉是这一句错了,没有SprinkLerSystem这个类啊
public class SprinkLerSystem{
public static void main(String[] args) {
SprinkLerSystem a = new SprinkLerSystem();
System.out.println(a);
}
class SprinkLerSystem{
...
}
}
可以有0个或者1个public类
你说默认访问权限可以是因为Java应用程序的入口是main
所以有没有public都没有关系