`
wb1991wb
  • 浏览: 157863 次
  • 来自: 上海
社区版块
存档分类
最新评论

【转】java对象的初始化过程

阅读更多

java对象的初始化过程

(1)加载父类(以下序号相同,表明初始化是按代码从上到下的顺序来的)  

     1.为父类的静态属性分配空间并赋于初值

     1.执行父类静态初始化块;

(2)加载子类

     2.为子类的静态属性分配空间并赋于初值

     2.执行子类的静态的内容;

(3)加载父类构造器 

     3.初始化父类的非静态属性并赋于初值

     3.执行父类的非静态代码块; 

     4.执行父类的构造方法;

(4)加载子类构造器 

    5.初始化子类的非静态属性并赋于初值

    5.执行子类的非静态代码块;

    6.执行子类的构造方法.

总之一句话,静态代码块内容先执行(父先后子),接着执行父类非静态代码块和构造方法,然后执行子类非静态代码块和构造方法。

分享到:
评论

相关推荐

    Java静态初始化块和对象初始化块

    总之,理解并有效地使用静态和对象初始化块是Java开发中的关键技能,它们可以帮助我们更好地控制类和对象的初始化过程,确保代码的高效性和正确性。在实际编程中,我们应该根据需求谨慎选择合适的初始化策略,以优化...

    “礼让”原则学习Java对象初始化顺序.pdf

    Java 对象初始化顺序是指在 Java 程序中,对象的初始化过程中发生的顺序问题。这是 Java 编程语言的基础知识点之一,但是许多学生在学习和使用时总是感到困惑和困难。 二、JVM 执行过程中的“礼让”原则 JVM 在...

    java中对象创建、初始化、引用

    #### 二、Java中对象创建和初始化过程中涉及的相关概念 ##### 1. Java中的栈与堆 - **栈**:用于存储基本数据类型的变量和对象的引用。 - **堆**:用于存储由`new`操作符创建的对象实体。 ##### 2. 句柄的概念 ...

    Java对象初始化的多维度分析 (2).pdf

    Java 对象初始化的多维度分析 Java 对象初始化是一个基础概念,但是很多人不知道它的内涵,特别是在类继承时。下面,我们从三个维度来分析 Java 对象的初始化过程。 一、从程序运行维度分析 在 Java 中,对象初始...

    03.Java对象初始化1

    Java 对象初始化过程详解 Java 对象的初始化过程是通过 new 指令开始的,首先会根据指令参数在常量池中定位到一个类的符号引用。如果没有定位到这个符号引用,那么这个类就没有被加载,就需要 JVM 进行类的加载。...

    java程序初始化顺序

    - 当多个线程同时尝试初始化同一个类时,Java保证只会执行一次类的初始化过程。这是由JVM的同步机制保证的,避免了数据竞争的问题。 5. **接口初始化**: - 接口没有实例变量,所以不存在实例初始化阶段。接口的...

    Java变量初始化

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

    对象初始化流程梳理对象初始化流程梳理

    Java中的对象初始化流程是编程实践中一个非常重要的概念,它涉及到类加载、静态初始化块、实例初始化块、构造器等多个方面。下面将详细解释这个过程。 首先,对象初始化流程的起点是程序的入口点,即`main`方法。当...

    java代码的初始化顺序demo

    在Java编程语言中,类和对象的初始化是一个关键的概念,对于理解和编写健壮的程序至关重要。这个"java代码的初始化顺序demo"显然旨在演示这一过程。让我们深入探讨Java中的初始化顺序及其背后的机制。 1. **类加载...

    java 初始化与方法

    本文将深入探讨Java中的初始化过程、方法的定义与调用,以及与之相关的源码和工具应用。 首先,让我们从类的初始化开始。在Java中,类的初始化通常发生在以下几个时刻:当类被首次加载、创建类的实例、访问静态变量...

    java实例化对象的过程

    在上述代码中,`MyClass`是一个简单的类,包含一个私有属性`name`和一个构造器用于初始化`name`,以及一个`display`方法用于展示对象的状态。 **实例化过程**: 1. **声明对象**:首先,你需要声明一个对象变量,...

    图解Java对象初始化过程以及方法调用

    1:虚拟机加载OOPDemo类(省略详细加载过程(装载、链接、初始化)),提取类型信息(具体保存哪些类型信息查看博文:Java虚拟机体系结构),存储到方法区中,对应图中的绿色矩形区域。  2:通过保存在方法区的字节...

    深入介绍Java对象初始化

    Java对象初始化是一个重要的概念,它涉及到对象生命周期的早期阶段,确保对象在被使用前具备了正确的状态。在Java中,对象初始化的过程分为几个步骤,包括默认初始化、显式初始化和构造器初始化。 **默认初始化**是...

    java对象创建过程

    ### Java对象创建过程详解 ...总结而言,Java对象的创建过程涉及类加载、内存分配、初始化等多个环节,每个环节都扮演着重要的角色。深入理解这些基础知识有助于开发者编写更高效、更健壮的Java应用程序。

    Java中对象初始化顺序的详细介绍

    在Java编程语言中,对象初始化是一个关键的概念,它涉及到类加载、对象实例化以及成员变量的赋值。本文将深入探讨Java中对象初始化的顺序,帮助开发者理解这一过程的细节。 首先,Java类的加载过程分为三个阶段:...

    Java初始化块Java初始化块.doc

    Java 初始化块,也称为构造代码块,是Java编程语言中的一种特性,用于在对象创建时执行特定的初始化操作。初始化块在类的定义中以 `{}` 包裹的一段代码,没有返回值,也不需要任何参数。根据是否带有 `static` ...

    java内存对象分配过程研究

    #### 五、对象初始化过程 对象初始化是构造对象的最后一步,它包括以下几个方面: 1. **默认初始化**:对象被创建后,如果构造方法没有显式地进行赋值,则所有字段都将被赋予默认值(例如,整型为0,浮点型为0.0,...

    详解Java的初始化与清理

    本文将深入探讨Java中的初始化过程,包括对象的构造器初始化以及类成员的初始化顺序,同时也会涉及Java的垃圾回收机制,即内存的自动清理。 首先,让我们详细了解一下Java中的构造器初始化。构造器是Java中用于初始...

    java中类的初始化顺序

    本文将详细探讨Java中类的初始化过程及其顺序,并通过具体的代码示例来帮助理解这一过程。 #### 二、基础知识 1. **静态成员变量(Static Fields)**:在类加载时初始化。 2. **实例成员变量(Instance Fields)**...

Global site tag (gtag.js) - Google Analytics