public class testStatic{
static{
a=4;
//System.out.println(a);
}
static final int a; public static void main(String args[]){
System.out.println(a);
}
}执行顺序依次是: 声明静态变量->静态代码块->主方法的打印语句 是吗?是的话为什么在注释处static代码块里不能打印a呢?已经定义过了啊?
static{
a=4;
//System.out.println(a);
}
static final int a; public static void main(String args[]){
System.out.println(a);
}
}执行顺序依次是: 声明静态变量->静态代码块->主方法的打印语句 是吗?是的话为什么在注释处static代码块里不能打印a呢?已经定义过了啊?
static{
a=4;
System.out.println(a);
} public static void main(String args[]){
System.out.println(a);
}
}
final的变量在程序中不能修改.!
在static块内部的变量a,在使用之前必须先定义
执行顺序依次是: 声明静态变量->静态代码块->主方法的打印语句 是吗?
声明静态变量和静态代码块那个前面那个执行
public class testStatic{
static{
a=4;
}
static final int a;
public static void main(String args[]){
System.out.println(a);
}
}
这样也可以啊?
static{
a=4;
}
static final int a;
public static void main(String args[]){
System.out.println(a);
}
}
为什么这样写也可以?
执行顺序跟你摆放代码的位置是有关系的
5楼 正确
并且 静态变量和静态初始化块 >变量和初始化块 同级之间跟你摆放代码的位置是有关系的
不同级之间跟你摆放代码的位置无关 静态变量和静态初始化块 >变量和初始化块