黑马程序员技术交流社区
标题:
谁能帮我看看
[打印本页]
作者:
gzp123
时间:
2015-5-8 22:30
标题:
谁能帮我看看
主类中有main方法,main方法上下各有一个静态代码块,是先执行main还是先执行main方法下的静态代码块呢?
作者:
xiao7181jun
时间:
2015-5-8 22:38
那必须是先执行主函数main, 你的class文件是由JVM虚拟机调用 才能运行的。而main方法是JVM虚拟机运行代码的接口,就是说jvm需要调用主函数里的main方法才能执行你的其他代码。
作者:
我干阿衰
时间:
2015-5-9 12:35
静态代码块随着类的加载而加载,所以它优先于主方法执行,具体看下面代码:
public class StaticDemo1 {
static {
System.out.println("我是静态代码块1");
}
public static void main(String[] args) {
System.out.println("我是主方法");
}
static {
System.out.println("我是静态代码块2");
}
}
//结果是: 我是静态代码块1
我是静态代码块2
我是主方法
作者:
欧阳文
时间:
2015-5-9 13:04
先执行静态代码块
作者:
fenglinluomu
时间:
2015-5-9 15:17
必须静态代码块先执行啊。
作者:
紫夜灵魂
时间:
2015-5-9 16:09
我记的是先执行静态代码块
作者:
柳叶飞刀
时间:
2015-5-9 16:37
先执行main
作者:
知来者之可追
时间:
2015-5-9 19:23
先执行静态代码块。。。。
作者:
Cat
时间:
2015-5-9 21:56
学习了~
作者:
lzh2015
时间:
2015-5-9 22:19
先执行上面的,因为最早加载的是类,所以类中的静态成员最早跟着加载,在Main中的静态代码块基本算是局部代码块了,主函数也是函数方法。
作者:
qian0217wei
时间:
2015-5-10 00:38
楼上正解,静态代码块随着类的加载而加载,优先于主函数执行!
作者:
Chans_宇
时间:
2015-5-12 17:57
主函数是虚拟机执行入口,但执行前应该需要加载主函数所在的类的字节码文件进行初始化吧……
作者:
冷雨敲窗被未温
时间:
2015-5-12 18:31
。。。这个真心看不懂。
作者:
zhiweiqi
时间:
2015-5-12 20:34
不管怎么写,先执行的一定是main,因为main是程序的入口。至于静态代码块是先加载到内存中,整个程序执行完毕在释放。
作者:
!85684009ex
时间:
2015-5-12 21:37
先加载静态代码块!也是可以最先调用!main那是实例化之后才能调用的!请参考!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2