问答详情
源自:8-10 Java 中的 static 使用之静态初始化块

声明变量赋值和用初始化块赋值的区别

通过变量声明并赋值与用初始化块赋值的方式,两者在用途上有什么区别吗?

提问者:seebsea 2016-01-21 09:08

个回答

  • 七九九
    2016-01-21 17:16:19

    就赋值而言好像没什么区别吧,不过初始化块还是很有用的,可以干些别的事情,比如说在赋值的同时输出一些信息。你可以自己用eclipse进调试模式玩一玩

  • 阳光暮晨
    2016-01-21 10:29:37

    初学者,回答不一定对。

    1、对于静态属性来说,静态初始化块还是有用的,因为它只会再第一次创建对象时执行;通过变量赋值则会每次都会执行,这样的话也就不能称作类属性了

    2、我觉得与直接声明并赋值相比,初始化块的产生应该更想 与  先声明再通过构造函数赋值  这种方式 做类比。也就是说,对象的属性初始化是分两步的:声明(这个时候并不去赋值);初始化(赋值)。而初始化 是可以通过两种方式完成,初始化块(创建类的时候就知道每个属性的初始化值)和 带参的构造函数(自定义初始化值)