java为什么定义的变量在main中不能用?
10个回答
展开全部
这叫做“静态方法不能调用非静态变量”,因为,非静态变量时依赖于对象存在的,而静态方法不依赖于对象,可以使用类名直接调用。一个不依赖与对象的方法,调用一个依赖于对象存在的变量当然不行了。
追问
那为什么java中的main函数要定义为static?
追答
首先,java里面叫做方法,不叫函数。其次,main方法是所有java application的入口。加上static也是他默认的写法,当然你也可以把它去掉,但是那样就不是入口了,它就成了一个普通的方法。
展开全部
你好
因为main是static修饰的静态方法,只能访问静态变量,所以你可以用static修饰变量a,
希望对你有帮助
因为main是static修饰的静态方法,只能访问静态变量,所以你可以用static修饰变量a,
希望对你有帮助
追问
那为什么java中的main函数要定义为static?
追答
main方法是程序的入口,在此入口之前不会产生任何对象,所以如果main方法是非static的成员方法,jvm是无法调用的,就进不了入口,那么程序也无法运行。而static的main方法可以不需要产生对象而调用。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好好补补基础知识
因为static方法,变量 无需实例化就可以使用
main方法是static声明的
而你那个a的变量是实例变量 (顾名思义就是必须实例化才可以使用)
报错是因为 你的编译器的检查约束
加个static就可以使用了
因为static方法,变量 无需实例化就可以使用
main方法是static声明的
而你那个a的变量是实例变量 (顾名思义就是必须实例化才可以使用)
报错是因为 你的编译器的检查约束
加个static就可以使用了
追问
那为什么java中的main函数要定义为static?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main是static修饰的静态方法,只能访问静态变量,定义变量前面加上static修饰词就ok了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为静态方法main必须调用静态的东西,包括静态成员,而你的int a 不是静态的所以报错,可以吧int a 改成 static int a;
追问
为什么java中的main函数要定义为static?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询