java 对于包中的public class和class的理解

学习了mldn的视频教程
里面对于class和public class做出了一些说明
如下
在这里插入图片描述
我一开始不理解,一个非主方法的java类中只能有一个public class么,那么常用的包比如java.util中那么多的类,我查了下文档发现他们几乎都是public class,那说明它们都是有各自的一个.java文件 ,且编译过后都放在一个包里面??
我梳理了一下思路,一个工具包里面有很多的类,这些类都能被外部所访问说明他们被声明成了public。这样思路就清晰了,如果我们想让一个.java文件的一个类能被外界访问则要将其声明为public,同时我们要注意的是一个.java文件只能有一个public声明,所以在同一个.java文件中存在两个需要被外界访问的类时,我们必须将为其中一个类新建一个.java文件!!!

至于为什么一个.java文件只能有个一个public声明则是因为,java规定文件名必须和public 声明的类的类名一致,出现多个public声明的类的话,那么不能通过编译。
对于这个观点的证明参考这个链接:
https://blog.csdn.net/bareheadzzq/article/details/6562211

猜你喜欢

转载自blog.csdn.net/weixin_43157199/article/details/82926552