一个静态变量初始化的顺序问题: stringclassinitialized 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 去看看java编程思想关于初始化这章! 程序加载类的时候,会先加载类的静态块,当你运行main方法时,首先会加载ExplicitStatic类,加载类的静态块,static Go g1 = new Go();static Go g2 = new Go(); 同样g1被new出来后,也会首先加载Go的静态块static String s1 = "run"; static String s2, s3; static { s2 = "drive car"; s3 = "fly plane"; System.out.println("s2 & s3 initialized"); }然后才是构造方法Go() { System.out.println("Go()"); }当这些都加载完成后,开始执行main方法.所以 输出的结果是s2 & s3 initializedGo()Go()Inside main()run or drive car or fly planeGo.s1: runPS.多了解一下加载机制 <a>http://www.cnblogs.com/alexlo/archive/2013/03/05/2944573.html</a> 静态块>静态变量>静态方法>构造函数>成员函数。一般来说是这样的 如果lz了解jvm在运行时具体的执行过程就不会有这个疑问了,在jvm对代码的运行期间,类静态变量初始化要比对象的初始化要早一步,也就是说先执行类静态变量的初始化,再执行对象的初始化(也就会类构造方法中的初始化)操作。 你要在加个非静态代码块,局部变量等,java初始化的东西基本就齐了 判断两个线程谁先执行完毕 为什么很多开源源代码都没注释 js调用applet方法,删除本地图片 获取鼠标坐标的问题 jdbc中操作数据库的一个问题! 怎么把Java这门语言学好啊? 关于JAVA的学习用书!!!急呀 请问怎样初始化四个数的平方和为1? ☆☆☆☆☆☆☆☆☆☆☆☆我甩分求答案,不要up,不会者也不要跟贴了,希望高手给我解答!!★★★★★★★★★★★★★★ DOS下编译一个.java文件后再用java不能编译文件名.class文件? 空指针的问题 关于 socket 编程的问题 在线等答案 大神们
去看看java编程思想关于初始化这章!
static String s1 = "run";
static String s2, s3;
static {
s2 = "drive car";
s3 = "fly plane";
System.out.println("s2 & s3 initialized");
}
然后才是构造方法
Go() {
System.out.println("Go()");
}
当这些都加载完成后,开始执行main方法.所以 输出的结果是
s2 & s3 initialized
Go()
Go()
Inside main()
run or drive car or fly plane
Go.s1: runPS.多了解一下加载机制 <a>http://www.cnblogs.com/alexlo/archive/2013/03/05/2944573.html</a>
java初始化的东西基本就齐了