今天看到一个小问题有点意思,把问题贴出来;
问题:main方法可以被设定为private么?
private static void main(String[] args) {
System.out.println("这段代码有误么?");
}
看到这段代码,有些伙伴们可能会说这段代码是错的,因为main方法没有被设定为public!
当然,这位伙伴说的没错,当然也不能说他对;
根据Java语言规范,main方法必须声明public(可参考Java语言规范的官方文档),不过,当main方法不是public时,某些版本的Java解释器也可以编译通过,在[Java Bug库](http://bugs.java.com/bugdatabase/index.jsp) 中输入bug号4252539可以查看,这个bug被标明“关闭,不予修复”,sun公司工程师解释说:“Java虚拟机规范工并没有强制要求mian方法为public,并且“修复这个bug有可能带来其他的隐患”,不过,在Java SE 1.4版本后强制mian方法为public
在Java的发展历史上还是有很多意思的,当然这只是个野史中的小故事,一笑而过便是!