这应该是 Java 规定的一种规范, 就是那些标准一样, 不能说它是100%正确, 但是我们都必须遵循这中规范.假设
A.javapublic class A{
}public class B
{
}如果有一个java文件 use 要用到 class B, 我想 JVM 可能会不知道去哪里找这个类, 因为有可能同时存在同名的类, 定义在 B.javaB.java
public class B
{
}
系统会不知道你调用的是哪个类, 会造成混乱.
A.javapublic class A{
}public class B
{
}如果有一个java文件 use 要用到 class B, 我想 JVM 可能会不知道去哪里找这个类, 因为有可能同时存在同名的类, 定义在 B.javaB.java
public class B
{
}
系统会不知道你调用的是哪个类, 会造成混乱.
Public class ** must be defined in a file called '**.java'
另外,这样可能也是为了封装的需要。一个程序只有一个public类,相当于只有一个公共接口供外部访问,此时只允许一个公共类的机制就保护了其他的非公共类了,这样更加安全合理。
其实我也觉得这样不太好,要是不管源文件有多少个class申明,编译后只产生一个类(比如说类名叫Deme.class,而不是A.class和B.class),那么很多问题就方便多了。
可以有,但不能是public的,它可以和你的主类平行************************
我试了一下怎么不行?
//ExpressionBuilder.java
public class ExpressionBuilder
{
}
// 生成SQL的参数
class SQLBuildParameters extends ParameterStruct
{}
// 预处理SQL的属性:字段名称和顺序号
class PreparedSQLParameters extends ParameterStruct
{
}