java为什么定义的变量在main中不能用?

 我来答
qixiangdefist
2013-11-18 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:45.7万
展开全部
这叫做“静态方法不能调用非静态变量”,因为,非静态变量时依赖于对象存在的,而静态方法不依赖于对象,可以使用类名直接调用。一个不依赖与对象的方法,调用一个依赖于对象存在的变量当然不行了。
追问
那为什么java中的main函数要定义为static?
追答
首先,java里面叫做方法,不叫函数。其次,main方法是所有java application的入口。加上static也是他默认的写法,当然你也可以把它去掉,但是那样就不是入口了,它就成了一个普通的方法。
邗启3V
2013-11-18 · TA获得超过7271个赞
知道大有可为答主
回答量:1413
采纳率:100%
帮助的人:1396万
展开全部
你好
因为main是static修饰的静态方法,只能访问静态变量,所以你可以用static修饰变量a,
希望对你有帮助
追问
那为什么java中的main函数要定义为static?
追答
main方法是程序的入口,在此入口之前不会产生任何对象,所以如果main方法是非static的成员方法,jvm是无法调用的,就进不了入口,那么程序也无法运行。而static的main方法可以不需要产生对象而调用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Shining_focus
2013-11-18 · TA获得超过234个赞
知道小有建树答主
回答量:310
采纳率:100%
帮助的人:122万
展开全部
好好补补基础知识

因为static方法,变量 无需实例化就可以使用
main方法是static声明的
而你那个a的变量是实例变量 (顾名思义就是必须实例化才可以使用)
报错是因为 你的编译器的检查约束
加个static就可以使用了
追问
那为什么java中的main函数要定义为static?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
free点点想念
2015-10-12 · 超过19用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:31.1万
展开全部
main是static修饰的静态方法,只能访问静态变量,定义变量前面加上static修饰词就ok了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
安迪僧
2013-11-19
知道答主
回答量:8
采纳率:0%
帮助的人:3.4万
展开全部
因为静态方法main必须调用静态的东西,包括静态成员,而你的int a 不是静态的所以报错,可以吧int a 改成 static int a;
追问
为什么java中的main函数要定义为static?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式