很多人在学习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、执行对象中的构造方法。
完成上述步骤,一个对象的初始化任务就算彻底完成了。
分享到:
相关推荐
java 数组初始化 详解 doc
《Java程序设计基础教程》按内容分成五篇:Java 语言入门篇、面向对象篇、数据流应用篇、Java GUI编程篇和高级应用篇,共有二十四讲组成。
介绍java对象的创建、初始化、和引用。并分析一下JAVA中对象创建和初始化过程中涉及的相关概念问题。
ORACLE初始化参数详解 ORACLE初始化参数详解
ARM初始化文件详解ARM初始化文件详解ARM初始化文件详解ARM初始化文件详解
Java中StringBuffer对象的初始化.pdf 学习资料 复习资料 教学资源
java 构造器初始化成员变量 是否提供默认构造器 继承中构造器的调用
对java类初始化以及顺序,详解,由于转载仅供大家参考!
java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...
对象初始化流程梳理对象初始化流程梳理对象初始化流程梳理对象初始化流程梳理对象初始化流程梳理对象初始化流程梳理对象初始化流程梳理对象初始化流程梳理
C++ Primer中在讲构造函数初始化列表的时候有这么一段话:无论是在构造函数初始化列表中初始化成员,还是在构造函数体中对它们赋值,最终结果是相同的。不同之处在于,使用构造函数初始化列表的版本初始化数据成员,...
关于“C++构造函数初始化列表 ”的实例分析
详细讲解java类中静态变量,普通标量,对象、基本类型的初始化顺序。
天轰穿系列教程之-16利用构造函数初始化对象天轰穿系列教程之-16利用构造函数初始化对象天轰穿系列教程之-16利用构造函数初始化对象天轰穿系列教程之-16利用构造函数初始化对象天轰穿系列教程之-16利用构造函数初始...
关键字class表明定义的是一个类;... 成员,类的数据成员一般用来描述该类对象的属性,称为属性;函数成员是描 述类行为,称作方法。函数成员由函数构成,这些作为类成员的函数因此也 叫成员函数。
java类中静态域、块,非静态域、块,构造函数的初始化顺序,通过本例子,能够清楚了解到java类的初始化顺序
对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器
主要介绍了6种方法初始化JAVA中的list集合,文中讲解非常详细,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
NULL 博文链接:https://yuu1987.iteye.com/blog/1113142
对象初始化器_1对象初始化器_1对象初始化器_1对象初始化器_1