- ~
关于如下application,说法正确是什么?java
public class Test { static int x=10; static {x+=5;} public static void main(String[] args) //4 { System.out.println("x="+x); } static{x/=3;}; }//9
正确答案: B
A 4行与9行不能经过编译,由于缺乏方法名和返回类型
B 编译经过,执行结果是:x=5
C 编译经过,执行结果是:x=3
D 9行不能经过编译,由于只能有一个静态初始化器app
class A{ static { System.out.println("父类静态代码块"); } public A(){ System.out.println("父类构造方法"); } { System.out.println("父类初始化块"); } } public class B extends A{ static{ System.out.println("子类静态代码块"); } public B(){ System.out.println("子类构造方法"); } { System.out.println("子类初始化块"); } public static void main(String[] args){ new B(); } } 父类静态代码块-->子类静态代码块-->父类普通代码块-->父类构造方法-->子类代码块-->子类构造方法;