java里面main函数为什么要用static修饰

本文探讨了Java中main方法需要添加static修饰符的原因。作者从初学者的角度出发,对比了C++和Python的不同之处,并详细解释了static修饰符在Java中的作用,包括静态域的归属、初始化特性及直接通过类名调用的方式。

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

这学期刚开java,因为之前只写过C++和Python没接触过java,有些写法挺不习惯的,今天写完一个程序,run的时候发现提示the selection can't be launched.......查了网上一些资料,虽然不知道具体是不是我以为的这个原因,我main函数没有写static(C++和Python都没这玩意儿),我想我这里应该是这个原因。如果不是这个原因,欢迎指正。

那么我那时候就在想,为什么我不加static就这样了,于是去查了查static的作用:


static 是静态的意思,这个我们在学C和C++里面就学过。

 0.static 修饰的域,我们叫静态域,它是归类所有的,被所有对象所共享,只有一个
 1.static修饰的区块,域只会初始化一次
 2.static修饰的域或方法,可以直接通过类的名字加上.进行调用

 3.static修饰的方法内不能直接使用非静态成员

static这个字告诉编译器,这个main函数是静态的,储存在静态存储区,在定义以后它就存在了,缺少它的话,编译并不会出错,而是在运行的时候报错,因为这个时候main这个类并没有实例化,自然main方法就不能用,加上static之后,这个方法(main)就变成了静态的,不需要实例化就能用,我记得刚开始学C语言的时候,我们老师说main是一个程序的入口,当时怎么想都没想明白,现在看这个例子,就可以想得通为什么要加static,main作为入口,不可能先去实例化一个对象去调用它,所以他必须可以直接调用。。

转载于:https://www.cnblogs.com/Yintianhao/p/9157414.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值