不运行程序时,下面代码的输出是什么啊?class A {
static int i=4;
{i=5;}{int i=6;}static{i=7;}
public static void main(String args[]) {
new A();System.out.print("我可以接"+i+++"分!");
}
}
static int i=4;
{i=5;}{int i=6;}static{i=7;}
public static void main(String args[]) {
new A();System.out.print("我可以接"+i+++"分!");
}
}
我可以接所有的分!呵呵就是初始顺序了,static(包括static block)->non-static block->constructor->...至于对不对,自己判断吧
建议楼主改成这样:
class A {
static int i=4;
{i=500;}{int i=6;}static{i=7;}
public static void main(String args[]) {
new A();System.out.print("我可以接"+i+++"分!");
}
}
哈哈!
{int i=6;}这里的i只是一个局部变量,所以这个block根本是没用的
--------------
static {
i = 7;
}
-----------------
new A();
----------------
{
i = 5;
}
------------------
{
int i = 6;
}
------------------
System.out.print("我可以接" + i++ +"分!");
前面有一个问题自己搞错了,让大家以为我喜欢牛角尖但好像有情商的人不多。呵呵
kingfish(龙城)、masse(当午) 和啤酒肚 有趣一些
{
int i = 6; //是个局部变量
}
i = 4;
i = 7;
} A(){
i = 5;
byte byte0 = 6;
} public static void main(String args[]){
new A();
System.out.print((new StringBuilder()).append("我可以接").append(i++).append("分!").toString());
}
}
class A {
static int i=4; // 1
{i=5;} //3
{int i=6;} //局部变量
static{i=7;} //2
public static void main(String args[]) {
new A();System.out.print("我可以接"+i+++"分!"); //先打印后加1
}
}