首页 > 试题广场 >

关于以下代码的说明,正确的是( ) 1. class

[单选题]
关于以下代码的说明,正确的是(
 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初始化的加载顺序为:


父类静态成员变量 父类静态代码块 子类静态成员变量 子类静态代码块 父类非静态成员变量,父类非静态代码块,父类构造函数,子类非静态成员变量,子类非静态代码块,子类构造函数

发表于 2020-01-26 20:24:49 回复(12)
先执行:
static int x = 10;
再执行两个静态块:
static { x+=5; }
static { x/=3; }
最后执行main():
System.out.println(“x=” + x);
所以x = 10  ->  x = x +5 = 15  ->  x = x / 3 = 5
打印x=5
编辑于 2019-07-09 20:44:40 回复(4)
我来看看有多少人被不定项给迷惑了
发表于 2019-10-02 20:09:30 回复(21)
静态块>main()>构造块>构造方法
其中静态块按照声明顺序执行
发表于 2019-06-22 15:34:33 回复(0)
在静态域(静态方法,静态属性,静态代码块中),静态方法永远是最后执行的,跟顺序无关,而其他两个跟声明的顺序有关
发表于 2019-08-30 09:19:40 回复(2)
记住静态代码块的执行,跟你写的顺序位置有关。
发表于 2019-07-16 10:05:40 回复(0)
在静态域(静态方法,静态属性,静态代码块中),静态方法永远是最后执行的,跟顺序无关,而其他两个跟声明的顺序有关
发表于 2019-10-06 06:14:40 回复(0)
静态代码块会先执行
发表于 2022-03-06 13:56:02 回复(0)
java初始化的加载顺序为: 父类静态成员变量 父类静态代码块 子类静态成员变量 子类静态代码块 父类非静态成员变量,父类非静态代码块,父类构造函数,子类非静态成员变量,子类非静态代码块,子类构造函数
发表于 2020-09-21 07:18:47 回复(1)
看错题了,以为在main里面写的static块呢……
发表于 2019-11-04 12:21:36 回复(0)
java初始化的加载顺序 父类静态成员变量 父类静态代码块 子类静态成员 子类静态代码块 父类非静态成员 父类非静态代码块 父类构造方法 子类非静态成员 子类非静态代码块 子类构造方法
发表于 2021-12-17 00:23:08 回复(0)
撒币才这么写业务代码
发表于 2021-04-24 19:19:48 回复(0)

看到多选还是选了c哈哈哈

发表于 2019-10-11 20:59:11 回复(0)
有时类在创建对象之前需要进行一些初始化,也可能需要在使用static修饰的变量之前,初始化这些静态变量,为了处理这种情况,java允许声明static代码块,来初始化这些静态变量,就例如题目中的staticstuff类,只不过现在静态代码块中没有对应的直接赋值语句,而是增强赋值操作,而且x变量已经被初始化,所以会直接进行静态代码块中的增强赋值语句,因为有两个静态代码块,所以两个静态代码块按照顺序执行,首先+5,然后进行/3操作。
发表于 2022-12-12 19:58:49 回复(0)
嘿嘿,15/3=3,嘿嘿
发表于 2022-11-25 18:29:49 回复(0)
java初始化的加载顺序为: 父类静态成员变量 父类静态代码块 子类静态成员变量 子类静态代码块 父类非静态成员变量,父类非静态代码块,父类构造函数,子类非静态成员变量,子类非静态代码块,子类构造函数 一个类中可以有多个静态代码块
发表于 2022-10-19 08:26:17 回复(0)
静态块>main()>构造块>构造方法
发表于 2022-08-12 15:04:38 回复(0)
是不是只有我这个智障把15/3算成了3 错的好亏
发表于 2022-06-07 17:44:38 回复(0)
15/3=3,我真牛
发表于 2022-06-01 08:20:34 回复(0)
这题写多选题误导人吧
发表于 2022-02-03 22:49:30 回复(0)