public class和class的区别:
1.一个.java源文件中可以定义多个class类,编译时,每个class类都应生成一个对应的.class文件。
2.一个*.java源文件中可以不用定义public class,但一个源文件中最多只能包含一个public class,多个时则报错。
3. 如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致。
4.public class定义的是公共类,所以文件名必须与类名一致,其他类可以引入并使用其公共方法和属性。
新建文件A.java,
一个源文件包含多个class:
class A{}
class B{}
class C{}
可正确编译,则生成3个文件:A.class,B.class,C.class。
一个源文件包含多个public class:
public class A{}
public class B{}
class C{}
编译时会出错,原因是使用了public class进行了类声明,则类名称必须与文件名称完全一致,public class B{}也是公共类,也应当也命名为B.java的文件,因此会报错。
一个源文件只包含一个public class:
public class A{}
class B{}
class C{}
编译时正确。
以上是个人学习中的理解,如果大牛发现有错误或不对或理解有误,欢迎指正。