关于Java中类在构造对象时的初始化步骤详解

来源:互联网 发布:数据库中范式 编辑:程序博客网 时间:2024/05/21 17:44
原文:(陈宝峰的专栏)http://blog.csdn.net/stevencn76/archive/2007/11/09/1875621.aspx
    很多人在学习Java的过程中不了解对象初始化的具体步骤到底如何,只是模糊的知道构造函数等可以进行初始化的内容,我们现在对Java中的类初始化步骤做一个详细的解析。
    首先我们来了解一下到底有哪些地方可以初始化,我们给出下面的一段示例代码:
public classs Book {
    
private String name; ////默认初始化,初始化的值由系统给定,为null
    private double price = 20.0//默认初始化,初始化的值为20.0
    private static int type;
   
    
//下面这个为静态初始化模块
    static {
        type 
= 1;
    }

   
    
//下面这个为初始化模块
    {
        price 
= 30.0;
    }

   
    
//类的构造方法
    public Book(String name, double price) {
        
this.name = name;
        
this.price = price;
    }

}


在上面的代码中我们可以看到,总共存在这样几个可以做初始化的地方:
1、静态初始化模块
2、默认初始化
3、初始化模块
4、构造方法

现在我们来说明这些初始化的步骤:
1、在类第一次被加载的时候的,静态初始化模块会工作完成一个部分初始化任务
2、在类构造对象的时候,具体步骤如下:
    a、系统创建类的实例对象
    b、执行默认初始化,如果程序中指定了默认初始化的值,那么就按照默认值进行初始化,如果程序中没有指定初始化的值,那么由系统自动赋值,赋值的原则为:“一切都是0”,整型属性赋值0,浮点属性赋值0.0,字符属性赋值‘/0',布尔类型属性赋值false,引用类型属性赋值null
    c、执行初始化模块,如果程序中存在多个初始化模块,那么按照书写顺序执行所有初始化模块。
    d、执行对象中的构造方法。
    完成上述步骤,一个对象的初始化任务就算彻底完成了。

 
原创粉丝点击