class StaticStuff{ static int x=10; static { x+=5; } public static void main(String args[ ]){ System.out.println(“x=” + x); } static { x/=3;} }
3行与9行不能通过编译,因为缺少方法名和返回类型
9行不能通过编译,因为只能有一个静态初始化器
编译通过,执行结果为:x=5
编译通过,执行结果为:x=3
java初始化的加载顺序为:
父类静态成员变量 父类静态代码块 子类静态成员变量 子类静态代码块 父类非静态成员变量,父类非静态代码块,父类构造函数,子类非静态成员变量,子类非静态代码块,子类构造函数
static int x = 10;
static { x+=5; } static { x/=3; }
System.out.println(“x=” + x);
看到多选还是选了c哈哈哈
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题