Java code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->
public
class
Test{
private
static
Test tester
=
new
Test();
//
step 1
private
static
int
count1;
//
step 2
private
static
int
count2
=
0
;
//
step 3
public
Test(){
//
step 4
count1
++
; count2
++
; System.out.println(
""
+
count1
+
count2); }
public
static
Test getTester(){
//
step 5
return
tester; }
public
static
void
main(String[] args){ Test.getTester(); } }
问:以上代码执行的顺序~,输出的结果~
这是我昨天面试时碰到的一题,我尽量还原了原题。先说一下,这里count1未初始化可不是我忘了,原题就是这么搞D~
正好我对这种带有自身类型的字段的情况有些迷糊,索性答曰:“有变量未初始化,编译器可能会报错”~
我想问的是,如果忽略未初始化错误的话,以上代码执行顺序到底如何?