关于Java中类在构造对象时的初始化步骤详解
来源:互联网 发布:数据库中范式 编辑:程序博客网 时间:2024/05/21 17:44
原文:(陈宝峰的专栏)http://blog.csdn.net/stevencn76/archive/2007/11/09/1875621.aspx
很多人在学习Java的过程中不了解对象初始化的具体步骤到底如何,只是模糊的知道构造函数等可以进行初始化的内容,我们现在对Java中的类初始化步骤做一个详细的解析。
首先我们来了解一下到底有哪些地方可以初始化,我们给出下面的一段示例代码:
在上面的代码中我们可以看到,总共存在这样几个可以做初始化的地方:
1、静态初始化模块
2、默认初始化
3、初始化模块
4、构造方法
现在我们来说明这些初始化的步骤:
1、在类第一次被加载的时候的,静态初始化模块会工作完成一个部分初始化任务
2、在类构造对象的时候,具体步骤如下:
a、系统创建类的实例对象
b、执行默认初始化,如果程序中指定了默认初始化的值,那么就按照默认值进行初始化,如果程序中没有指定初始化的值,那么由系统自动赋值,赋值的原则为:“一切都是0”,整型属性赋值0,浮点属性赋值0.0,字符属性赋值‘/0',布尔类型属性赋值false,引用类型属性赋值null
c、执行初始化模块,如果程序中存在多个初始化模块,那么按照书写顺序执行所有初始化模块。
d、执行对象中的构造方法。
完成上述步骤,一个对象的初始化任务就算彻底完成了。
很多人在学习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;
}
}
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、执行对象中的构造方法。
完成上述步骤,一个对象的初始化任务就算彻底完成了。
- 关于Java中类在构造对象时的初始化步骤详解
- 关于Java中类在构造对象时的初始化步骤详解
- 关于Java中类在构造对象时的初始化步骤详解
- Java中,关于在子类构造函数中调用父类构造函数完成对象创建的简单分析
- Java中对象的初始化过程详解
- java中对象的初始化与构造器
- 在类的对象的初始化中为什么需要构造函数?
- 对象的初始化、继承时,对象的初始化过程、关于构造方法、抽象类……
- java对象初始化时的静态块和构造块
- Java内存结构、类的初始化、及对象构造过程
- java中类的静态代码块、构造代码块、构造方法、静态成员的初始化顺序详解
- java中类的静态代码块、构造代码块、构造方法、静态成员的初始化顺序详解
- java在定义的时候初始化和在构造器中初始化有何差异
- JAVA之类的构造与对象初始化
- 在Java中,采用类的默认构造函数构造对象的方法!
- Java中类与对象的初始化
- Java中String类对象的初始化
- java中类的初始化和对象的初始化
- DHCP服务检测
- 体验微软生活 - 我在微软当“白领”
- 介绍几款WAP网页制作工具(提供下载)
- 调查显示健康新媒体行业渐入垄断期
- 试图运行项目时出错:无法在web服务器上启动调试。调试失败,因为没有启用集成window身份验证.
- 关于Java中类在构造对象时的初始化步骤详解
- 史上最彪悍的IT产品诞生图
- 动态分配二维数组以及指针的相关精华
- U-Boot在基于ADSP BF533的嵌入式Linux系统上的移植
- 下雪特效
- Visual C++窗口标题改变的几种方法(转)
- over engineer铪铪铪
- jbpm3.1.4.jar架包和jbpm-jpdl-3.2.2之间的区别之一 (续)
- Swt常用控件中文教程