A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

创建Test.java文件
class TestDemo {
     public static void main(String[] args) {
           System.out.println("类名和文件名不一样啊!");
     }
}

javac Test.java   没有报错
java TestDemo   能够正常输出

除开public修饰的类是不是可以这样,private尝试了不可以
主函数必须用public是为什么,java强行规定还是?

5 个回复

倒序浏览
可以不一样的。但是会报错,编译无法通过。对,不写public是可以的。
回复 使用道具 举报
今天看书时无意遇到的,一直没注意这个问题,拿出来探讨下!
回复 使用道具 举报
如果类是由修饰符public修饰的话,类名与文件名必要相同,反之,没有修饰符public修饰的话,可以不同名,强烈建议文件名跟类名一致的好,因为当类建了很多话,很可能你会忘记你命名过的类名是什么?
回复 使用道具 举报
public修饰符的类必须要与文件名相同
回复 使用道具 举报
编译的时候编译源文件,源文件编译之后会生成一个跟类名一样的class文件,运行的时候必须运行class文件名
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马