今天看Core Java的时候,书上说域初始化通常使用以下3种方法:
1. 在构造器(constructor)中设置值
2. 在域的声明(declaration)中赋值
3. 在初始化块(initialization block)中设置值实际的项目中,哪种方法是最常用的呢?或者说大家的公司有没有规定说是一定要用哪一种?

解决方案 »

  1.   

    刚才出去坐巴士的时候,坐在车上又想了想,绝对还是有点规律的,譬如:1. 在构造器(constructor)中设置值 
    如果域是对象类型数据,通常使用这种方法2. 在域的声明(declaration)中赋值 
    如果域是8种基本类型数据,通常使用这种方法3. 在初始化块(initialization block)中设置值 
    这种方法很少用,通常使用第一种构造器的方法代替此方法
      

  2.   

    1. 在构造器(constructor)中设置值 
    这个用的多吧?
      

  3.   

    1. 在构造器(constructor)中设置值 
    3. 在初始化块(initialization block)中设置值 这两种方法都常用,方法1经常在个别少数数据需要简单初始化时候(个人叫法,简单初始化就是基本不经过变换强转等的直接初始化)
    如果构造时传参较多,建议在构造器尽量用一个init方法封装起来,构造器看起来简洁。
      

  4.   

    在初始化块(initialization block)中设置值 这个也很常见的, 举个例子
    common-io包中, 回车换行的初始化。 
      

  5.   

    1. 在构造器(constructor)中设置值
    2. 在域的声明(declaration)中赋值
       这两种怎么用,看自己的习惯和实际情况了。在构造器中设置比较灵活,因为有的时候你可能要根据构造器的参数来进行初始化工作,如果你确定要初始化成什么值,直接进行field的初始化也不错,这种代码也挺常见的。
    3. 在初始化块(initialization block)中设置值 
       初了无聊的考试题,还没见过真正使用的情况。编译器仅仅是把初始化块的内容提取出来放到初始化方法中(<init>方法,也可以认为就是构造方法),构造方法本来的内容跟在他们后面。所以这种极端不常用
      

  6.   

    主要是初始化顺序的问题,和用哪个无关,确切的说4种
    声明时初始化
    初始化块中初始化
    构造器中初始化
    使用时初始化你要给它默认值,那就声明或者初始化块中初始化
    你要注入就构造器初始化
    你要节省空间就使用时初始化你也可以用set方法注入改变它
      

  7.   

    主要是初始化顺序的问题,和用哪个无关,确切的说4种
    声明时初始化
    初始化块中初始化
    构造器中初始化
    使用时初始化你要给它默认值,那就声明或者初始化块中初始化
    你要注入就构造器初始化
    你要节省空间就使用时初始化你也可以用set方法注入改变它