main()函数前为何要加static?

Nancy_m 2009-07-20 05:23:46
JAVA是纯面向对象的语言,mian也是一个方法,它由程序员自己定义的一个公有类包装并重载这个方法,这个方法做为程序一开始的执行点,所以在没有任何类的实例对象时,程序就可以开始执行,所以main方法必须是静态的

public static void main(String[] args)
参数args 可以随便写,但是其他就是固定的。

1.main函数前面可以没有static。不信你编译看看,但是运行不通过,因为对于一个java的application而言,static void main(String args[])这样的写法是必须的,以保证main函数合法且先执行。事实上该函数可以超载。
2.调用非staic函数的前提是必须对包含该函数的类进行实例化,如果不实例化,当然不行。因为main函数的运行在类实例化之前。(就是说可以认为staic main函数独立于类之外)
3.这是java中最基本也是最迷惑人的地方-----一切staic的函数和变量,都先于类之前初始化或执行。

static表示静态方法,可以脱离类而实现,也就是说可以没有一个类的实例也能执行这个static方法,类似于一个全局方法。因此,static方法中的代码必须是可以单独拿出来执行的,如果要执行这个类中的非static方法,必须先实现一个这个类的实例。
...全文
548 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
kimiH 2009-07-27
  • 打赏
  • 举报
回复
学习了!
Java2King 2009-07-27
  • 打赏
  • 举报
回复
呵呵~学习了
javamode 2009-07-27
  • 打赏
  • 举报
回复
说的太乱
Lena-Yang 2009-07-27
  • 打赏
  • 举报
回复
java笔试题:
java中main函数的返回值是什么类型?
大家说说看
win2503 2009-07-27
  • 打赏
  • 举报
回复
路过学习下
hqq592440660 2009-07-24
  • 打赏
  • 举报
回复

学习了,这哥们研究的好透彻阿.
tfsict2008 2009-07-24
  • 打赏
  • 举报
回复
都是对本来人家已经定义好的东西来个 “自我理解”,呵呵。这和JVM实现以及JAVA 规范有关吧。但是你硬是要去问 为什么这个 规定,那最好去问 SUN!
virus7581 2009-07-24
  • 打赏
  • 举报
回复
类的初始化与实例化是两码事,应该说static成员是独立于类的对象,而不是类本身;
static成员在类初始化(加载)的时候初始化;
非static成员在类实例化(创建对象)的时候初始化;
sunxing007 2009-07-24
  • 打赏
  • 举报
回复
还可以写作static public void main。有个变态公司面试题问这样写可不可以。
zjny520 2009-07-24
  • 打赏
  • 举报
回复
youjianbo_han_87 2009-07-24
  • 打赏
  • 举报
回复
main方法应该是 JRE 里面定义的方法,你把名字改成 main1 ,它就无法识别成 java Application了
liudingming043 2009-07-23
  • 打赏
  • 举报
回复
看看
zuoguodang 2009-07-23
  • 打赏
  • 举报
回复
学习了,普及HelloWorld教育,顶!
izard999 2009-07-23
  • 打赏
  • 举报
回复
static成员无论实例化多少次,都只在该类加载的时候初始化一次,与创建多少对象无关
duanzhirui 2009-07-23
  • 打赏
  • 举报
回复
类里面的静态方法在实例化时只执行一次
musecangying007 2009-07-23
  • 打赏
  • 举报
回复
一切staic的函数和变量,都先于类之前初始化或执行
hyhymn 2009-07-23
  • 打赏
  • 举报
回复
mark
ouyangxinjie 2009-07-23
  • 打赏
  • 举报
回复
有印象~
xinleicn 2009-07-23
  • 打赏
  • 举报
回复
学习了
工布之者 2009-07-23
  • 打赏
  • 举报
回复
原来这样
加载更多回复(18)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧