public class Test1
{
public static int k = 0;
public static Test1 t1 = new Test1("t1");
public static Test1 t2 = new Test1("t2");
public static int i = print("i");
public static int n = 99;
public int j = print("j");
{
print("构造块");
}
static
{
print("静态块");
} public Test1(String str)
{
System.out.println((++k) + ":" + str + " i=" + i + " n=" + n);
++i;
++n;
} public static int print(String str)
{
System.out.println((++k) + ":" + str + " i=" + i + " n=" + n);
++n;
return ++i;
} public static void main(String[] args)
{
Test1 t = new Test1("init");
}
}java面试题阿里巴巴
{
public static int k = 0;
public static Test1 t1 = new Test1("t1");
public static Test1 t2 = new Test1("t2");
public static int i = print("i");
public static int n = 99;
public int j = print("j");
{
print("构造块");
}
static
{
print("静态块");
} public Test1(String str)
{
System.out.println((++k) + ":" + str + " i=" + i + " n=" + n);
++i;
++n;
} public static int print(String str)
{
System.out.println((++k) + ":" + str + " i=" + i + " n=" + n);
++n;
return ++i;
} public static void main(String[] args)
{
Test1 t = new Test1("init");
}
}java面试题阿里巴巴
你们怎么搞到的?
这个可以看一下Java的编译过程,涉及到静态代码块、构造函数等!
我也不知道这道题我得了多少分,反正就是考察Java编译顺序问题
http://bbs.csdn.net/topics/390597457
有每步执行的详细步骤
http://bbs.csdn.net/topics/280036316