关于Java中类在构造对象时的初始化步骤详解
来源:互联网 发布:什么是网络整合营销 编辑:程序博客网 时间:2024/06/02 05:05
很多人在学习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中类的初始化和对象的初始化
- MTK平台发展及各芯片功能介绍
- 关注一下内存与性能
- telnetd在arm 上的移植
- 揭密征途赚钱模式:史玉柱在赚谁的钱
- CallBack函数及其控制
- 关于Java中类在构造对象时的初始化步骤详解
- Remoting事件处理
- 堆和栈及静态数据区
- ClassLoader
- MTK输入法的添加(mtk平台t9,zi之外的输入法)
- 项目经理开门七件事
- MTK谈谈手机软件
- 使用InteractiveObject的doubleClick事件
- MySQL优化经验