main函数中为什么带有static关键字

本文深入解析Java中main方法为何必须声明为静态(static)、公有(public)且无返回值(void),解释这些特性如何确保JVM能正确执行程序,无需实例化即可调用main方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【重点】static修饰函数或者成员变量时,该函数或者成员变量不依赖于某一个实例对象而存在,而是所有对象共同享用的。

为什么main方法是静态的(static)

如果main方法不声明为静态的,JVM就必须创建包含这个main方法的类的实例,因为构造器可以被重载,若有人重载了构造器(重载后默认构造器不再调用),传入参数才能创建对象,JVM就不知道传什么样的参数去实例化对象,导致JVM无法通过实例化对象来加载【非类属性】的main方法,如果是类属性的main就不需要通过实例来调用,直接通过类属性调用,并可以通过java.exe的命令参数给main方法传参数。

为什么main方法是公有的(public)

Java指定了一些可访问的修饰符如:private、protected、public,任何方法或变量都可以声明为public,Java可以从该类之外的地方访问。因为main方法是公共的,JVM就可以轻松的访问执行它。

为什么main方法没有返回值(Void) 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值