`
lylyb
  • 浏览: 90416 次
  • 性别: Icon_minigender_1
  • 来自: 烟台
社区版块
存档分类
最新评论

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

    博客分类:
  • JAVA
阅读更多
很多人在学习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中对象创建、初始化、引用

    ### Java中对象创建、初始化与引用详解 #### 一、Java对象、引用及创建过程 在Java中,对象是程序的基本单位,它包含了属性(成员变量)和行为(方法)。对象是由类创建出来的实例,而类则是一组具有相同属性和...

    类继承的初始化顺序类,继承的初始化顺序

    在面向对象语言中(如Java、C#等),当创建一个继承自某个基类的子类对象时,会有一个特定的初始化顺序。这个顺序通常遵循以下步骤: 1. **基类静态成员初始化**:如果基类中有任何静态成员,则会在程序启动时按照...

    Java变量初始化

    Java 变量初始化的时机是指在 Java 语言中变量的初始化过程,包括变量的声明、初始化和赋值的步骤。 Java 变量声明 在 Java 语言中,每个变量必须先声明,然后才能使用。声明变量时必须指定该变量的数据类型。...

    java类中元素初始化顺序详解

    在 Java 中,类的元素初始化顺序遵循以下规则: 1. **静态变量与静态初始化块**: 首先,Java 解释器会执行类中的静态变量初始化和静态初始化块。这些静态元素的初始化只会在类加载时执行一次,并且按照它们在源...

    java对象初始化代码详解

    Java 对象初始化代码详解主要介绍了 Java 对象初始化代码详解,涉及实例变量的初始化,类变量的初始化等相关介绍几代码示例,具有一定参考价值,需要的朋友可以了解下。 一、Java 对象初始化过程 Java 对象初始化...

    探讨Java的对象是怎么在内存中产生的?

    Java对象是由类实例化的结果,当我们使用`new`关键字创建一个对象时,实际上经历了以下几个步骤: 1. **类加载检查**:虚拟机首先检查`new`指令的参数是否能在常量池中定位到一个类的符号引用。如果该类尚未被加载...

    Java零基础-构造方法.md

    通过本文的学习,读者应能深刻理解Java中构造方法的作用和使用方式,掌握构造方法与普通方法的区别,学会如何定义带参构造方法来初始化对象的属性,并理解实例化对象时构造方法自动调用的原理。此外,通过实际编程...

    类初始化顺序示例讲解

    ### 类初始化顺序详解 本文将基于给定的Java示例代码深入探讨类初始化的顺序问题。这不仅是Java语言的关键特性之一,在其他面向对象语言(如C++、.NET)中也有相似的概念。理解这一概念有助于程序员更好地掌握面向...

    java对象创建过程

    4. **执行构造函数内的代码**:在构造函数中可以执行任何必要的初始化工作,比如为成员变量赋值等。 #### 三、示例分析 假设我们有一个简单的类`Dog`,其定义如下: ```java public class Dog { private String ...

    简单了解java类的初始化以及类的实例化

    Java类的初始化和实例化详解 Java类的初始化和实例化是Java编程语言中两个非常重要的概念,它们都是Java类生命周期的重要组成部分。下面我们将详细介绍Java类的初始化和实例化的过程,并解释其中的细节。 一、Java...

    java扫雷代码详解

    构造函数中首先调用父类的构造函数,创建一个新的扫雷程序窗口,然后获取扫雷程序的内容面板,设置扫雷程序的大小和位置,最后初始化扫雷程序的组件。 扫雷程序的事件处理 扫雷程序的事件处理是通过ActionListener...

    学习JAVA的步骤 java 学习 步骤

    - **构造器**:掌握如何创建对象及其初始化过程。 - **抽象类与接口**:理解抽象类和接口的区别及其应用场景。 - **方法的多态性**:掌握方法重载(Overloading)与方法重写(Overriding)的区别。 - **异常处理**:...

    图文详解Java中class的初始化顺序

    在Java编程语言中,类的初始化是一个至关重要的过程,它涉及到类加载、静态初始化和实例化等多个阶段。本文将深入探讨这些步骤,并通过一个具体的示例来解释它们之间的顺序。 首先,我们来看类的装载顺序。Java...

    java类和对象

    - **特点**: 构造方法的名字必须与类名相同,没有返回类型(包括`void`),可以带有参数,以便在创建对象时初始化其属性。 6. **构造代码块** - **定义**: 是一种特殊的代码块,用于初始化对象的状态。 - **...

    Java_ClassLoader详解

    在 Java 语言中,类加载器(ClassLoader)是 Java 运行时环境的核心组成部分之一,它负责将编译后的 `.class` 文件加载到 JVM 中执行。从 JDK 1.0 开始,随着 Java Applet 的出现以及网络应用的需求增加,类加载机制...

    log4j初始化

    3. **在Servlet中调用初始化方法**:在Servlet的`init()`方法中,获取Web应用的根目录,结合配置的文件名,构造出配置文件的完整路径,然后使用`PropertyConfigurator.configure()`方法进行初始化。 ```java ...

    java面向对象之JVM创建及分配策略方法详解.docx

    总结,Java对象的创建和内存分配涉及到一系列复杂的过程,包括类加载、内存分配、对象初始化等。了解这些细节有助于优化代码性能,尤其是在处理大量对象创建的场景下。逃逸分析是现代JVM优化的重要手段之一,它可以...

    java对象引用易混解析

    2. **对象与引用的创建过程**:对象的创建包括在堆内存中分配空间、初始化状态以及建立引用连接三个步骤。 3. **引用的使用**:引用可以指向零个或一个对象,且可以被复制来共享同一个对象。 4. **对象的生命...

    详解JAVA 原型模式

    2. **逃避构造函数约束**: 如果构造函数有复杂的初始化逻辑,使用克隆更便捷。 3. **降低耦合度**: 客户端无需知道对象的具体创建过程,只需知道如何使用原型对象。 缺点: 1. **实现复杂**: 特别是当类包含不可...

Global site tag (gtag.js) - Google Analytics