java中为什么main方法是public static void main(String [] args)

问题

为什么java的main方法是 public static void main(String [] args),为什么要用public 、static、void 修饰

当然也可以这样写

public static void main(String... args)

 问题解答

main 方法是Java程序的入口,在java运行时,jvm会寻找类中的public static void main(String [] args) ,找不到该方法就会抛出异常(NoSuchMethodError:main )程序终止

也就是说这样的写法是jvm规范强制要求的写法,那么为什么要这样要求呢?

为什么是public 

因为main方法是公共的,所以设置成public ,JVM就可以轻松的访问执行它

为什么是static 

  • 因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例
  • 如果main方法不声明为静态的,JVM就必须创建main类的实例,因为构造器可以被重载,JVM就没法确定调用哪个main方法
  • 静态方法和静态数据加载到内存(类加载机制,在验证、准备、解析阶段静态变量就初始化)就可以使用啦,静态初始化块在JVM调用main方法前被执行。

为什么是void  

因为main返回任何值对程序都没任何意义,所以设计成void

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值