日期:2014-05-20  浏览次数:20910 次

为什么一个java文件只能存在一个public类?
为什么一个java文件只能存在一个public类?这是规范,但是为什么又能存在class内部类呢?

------解决方案--------------------
1、每个编译单元(文件)只能有一个public 类。这么做的意思是,每个编
译单元只能有一个公开的接口,而这个接口就由其public 类来表示。
你可以根据需要,往这个文件里面添加任意多个提供辅助功能的package 权限的类。但是如果这个编译单元里面有两个或两个以上的public 类的话,编译器就会报错。
2. public 类的名字必须和这个编译单元的文件名完全相同,包括大小
写。所以对Widget 类,文件名必须是Widget.java,不能是widget.java 或WIDGET.java。如果你不遵守,编译器又要报错
了。
3. 编译单元里面可以没有public 类,虽然这种情况不常见,但却是可以
的。这时,你就能随意为文件起名字了。