黑马程序员技术交流社区

标题: 包含主函数的类名和Java文件名可以不一样吗? [打印本页]

作者: 周飞    时间: 2012-8-22 23:14
标题: 包含主函数的类名和Java文件名可以不一样吗?
创建Test.java文件
class TestDemo {
     public static void main(String[] args) {
           System.out.println("类名和文件名不一样啊!");
     }
}

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

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

作者: 赵俊杰    时间: 2012-8-22 23:15
可以不一样的。但是会报错,编译无法通过。对,不写public是可以的。
作者: 周飞    时间: 2012-8-22 23:15
今天看书时无意遇到的,一直没注意这个问题,拿出来探讨下!
作者: 全海波    时间: 2012-8-22 23:20
如果类是由修饰符public修饰的话,类名与文件名必要相同,反之,没有修饰符public修饰的话,可以不同名,强烈建议文件名跟类名一致的好,因为当类建了很多话,很可能你会忘记你命名过的类名是什么?
作者: 周世阳    时间: 2012-8-22 23:22
public修饰符的类必须要与文件名相同
作者: haha_hyq    时间: 2012-8-22 23:30
编译的时候编译源文件,源文件编译之后会生成一个跟类名一样的class文件,运行的时候必须运行class文件名




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2