黑马程序员技术交流社区
标题:
静态代码块与main函数哪个先执行?
[打印本页]
作者:
张林春
时间:
2012-4-25 14:18
标题:
静态代码块与main函数哪个先执行?
public class A{
static{
Console.writeLine("static");
}
public static void main(String[] args) {
Console.writeLine("main");
}
}
作者:
海继峥
时间:
2012-4-25 15:07
static类在程序装入内存时就要确定数据类型并分配内存,而main函数包括其中的变量是在执行到的时候才分配的。
1 静态模块会先执行 因为静态模块是在虚拟机加载的时候就运行了 而main方法则是在执行程序是才会被执行
2 静态模块只会在被加载时才会执行一次 以后无论执行几次程序都不会再执行 而main方法则是执行几次程序就会被执行几次
作者:
刘建法
时间:
2012-4-25 15:21
当然首先Main()函数数程序的入口 ,它是一切程序中最先执行的,其次就是在main函数中那个函数出现的调用顺序执行了
作者:
王志龙
时间:
2012-4-25 15:52
我简单的分析下:
1分析程序的执行结果,先得找到程序的入口,也就是main()方法。
2而main()方法在X类中,要执行main()方法,还得先将某类(此处静态类)加载到内存中。
3而static作用就是在类被第一次加载的时候执行,以后就不再执行。
既然知道了static的作用,那么X类被加载,那么就会先执行X类的静态属性和静态语句块(static),执行先后顺序看谁在前面就先执行谁。只在此时执行,以后都不会。
4X类(此处特指楼主的类)的static语句块执行完了,就该执行main()方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2