package test;
public class subClass {
static int a;
static {
a=11;
}
public subClass() {
a++;
}
public static void main (String[] a){
subClass sub =new subClass();
System.out.println(sub.a); //输出的是12
subClass subb=new subClass13();
System.out.println(subb.a);//输出的是13}
}我觉得两次都应该是12,怎么第二次是13,不太明白各位给指点指点?
public class subClass {
static int a;
static {
a=11;
}
public subClass() {
a++;
}
public static void main (String[] a){
subClass sub =new subClass();
System.out.println(sub.a); //输出的是12
subClass subb=new subClass13();
System.out.println(subb.a);//输出的是13}
}我觉得两次都应该是12,怎么第二次是13,不太明白各位给指点指点?
}称为静态代码块,静态代码块只会在类加载时执行(初始化)一次。
所以 第二次调用a时 之前加了一 所以变成了12
这道题 已经可以说明static的使用了
所以 第二次调用a时 之前加了一 所以变成了12
这道题 已经可以说明static的使用了