java_main函数规则一二

有段时间没有用java SE,结果基本的main函数写的时候写成了返回类型int =.=|| 当成c的规则了。那么为什么java要这样规范main()函数呢?


我们看到java的main函数有 个限制:  public static void  main(String[] args){}  其他事可以自己定义的。那么:

1. public :这个字段决定了函数是否可以被外部函数调用。我们知道C里面的函数是跑在操作系统环境中的,可以认为操作系统一个大的函数,这个函数调用了C的main()。java中也是同样的道理,只不过java的main函数是跑在jvm中的。如果不限定public,jvm就不能调用main。


2 static:在C中,所有的函数可以被直接调用,没有类的概念,而在java中,一般的函数需要先实例化一个类,然后用这个实例来调用函数。如果要直接用类名调用一个函数,就必须在函数前限制static,JVM调用main就是用了这个方法。


3 void:这个是我最纳闷的,不过既然不是操作系统直接调用main(),那么返回类型不一样也是正常的,我在网上也看到jvm是不接受任何类型的返回的,这就直接导致了main函数不能返回值。但是jvm是什么样的运行机制导致其不接受返回值就不得而知了,有知道的望指点~。


4 String[]:类似于C中的参数char**,int,java中数组可以记录数目,所以省去了int类型的参数来表示字符串个数。


另外,附xwdreamer的文章java中main函数解析  对java调用main函数的过程做了分析,可以进一步了解整个调用过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值