main方法可以被设定为private么?

今天看到一个小问题有点意思,把问题贴出来;

问题: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的发展历史上还是有很多意思的,当然这只是个野史中的小故事,一笑而过便是!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值