`
peonyzzdx
  • 浏览: 589775 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

java构造函数的执行顺序

 
阅读更多
public class Son extends Father {  
    SonProp r = new SonProp();  
    public Son() {  
        System.out.println("Son is construct");  
    }  
    public static void main(String[] args) {  
        new Son();  
    }  
}  
class Father {  
    FatherProp SonProp = new FatherProp();  
    public Father() {  
        System.out.println("Father is construct");  
    }  
}  
class SonProp {  
    public SonProp() {  
        System.out.println("SonProp is construct");  
    }  
}  
class FatherProp {  
    public FatherProp() {  
        System.out.println("FatherProp is construct");  
    }  
}  


执行结果如下:
FatherProp is construct
Father is construct
SonProp is construct
Son is construct
由此不难看出java类初始化时构造函数调用顺序:
  (1)初始化对象的存储空间为零或null值;
  (2)按顺序分别调用父类成员变量和实例成员变量的初始化表达式;
  (3)调用父类构造函数;(如果实用super()方法指定具体的某个父类构造函数则使用指定的那个父类构造函数)
  (4)按顺序分别调用类成员变量和实例成员变量的初始化表达式;
  (5)调用类本身构造函数。
0
0
分享到:
评论

相关推荐

    构造函数与静态块的执行顺序

    在探讨继承中子类与父类构造函数及静态块的执行顺序时,我们首先需要理解构造函数和静态块的基本概念及其在Java中的作用。构造函数主要用于初始化对象的状态,而静态块则是在类加载到内存中时执行的一段代码,通常...

    Java:静态代码块和构造函数执行顺序

     3 构造函数,(创建对象时执行完2后再执行构造函数,不管构造函数是public还是private) */ public class Test{ public Test(){ System.out.println("类Test构造方法被执行 6"); } { System.out.println("类...

    java二开面试笔试题

    本资源摘要信息中,我们将总结 Java 面试笔试题中的知识点,涵盖 Java 基础、Java 集合框架、Java垃圾回收、Java 方法返回值、Java 对象引用、Java 构造函数执行顺序等方面的知识点。 一、Java 基础知识点 1. Java...

    聚合中类的构造函数调用顺序

    1. **基类构造器的调用**:如果类A继承自类B,那么在类A的构造函数执行之前,会先调用类B的构造函数。这是为了确保基类的部分先得到初始化。 2. **成员变量构造器的调用**:接着,按照声明的顺序,类A中每个成员...

    Java构造函数的继承问题[收集].pdf

    以下是关于Java构造函数继承问题的关键知识点: 1. **继承默认构造函数**: - 子类只能继承父类的无参数(默认)构造函数。如果父类没有无参数的构造函数,那么子类无法直接继承任何构造函数。 - 缺省构造函数是...

    java构造函数及相关知识[借鉴].pdf

    Java构造函数是编程中至关重要的概念,特别是在面向对象编程中。它们主要用于初始化新创建的对象的状态。构造函数在类中定义,其名字与类名完全相同,并且没有返回类型,连void也不包含。当通过`new`关键字创建一个...

    深入理解java构造器机理

    “深入理解Java构造器机理” 在 Java 编程语言中,构造器是一种特殊的方法,用于初始化对象的创建。它是 Java 类中最重要的一个概念。下面将深入讨论构造器的机理、执行顺序、作用及与其他概念的区别。 一、构造器...

    Java类的完整构造执行顺序

    在任何构造函数执行之前,所有成员变量都将被赋予默认值。对于基本数据类型,如`int`、`float`和`boolean`,它们的默认值分别为`0`、`0.0f`和`false`;而对于引用类型,其默认值为`null`。 ### 3. 构造函数的调用与...

    构造函数继承.关于java

    2. **构造函数调用顺序**:在子类构造函数中,必须先调用父类的构造函数(使用`super`),然后再执行子类构造函数中的其他代码。 3. **构造函数的可访问性**:子类只能访问具有相同或更宽松访问级别的父类构造函数。...

    java static块和构造函数的实例详解

    在 Java 中,static 块和构造函数的执行顺序是非常重要的。通常情况下,static 块在类加载时执行,而构造函数在类实例化时执行。下面是一个简单的示例代码: ```java public class WebSerivceTest { private ...

    java类中静态域、块,非静态域、块,构造函数的初始化顺序

    ### Java 类中静态域、块,非静态域、块,构造函数的初始化顺序 #### 一、概述 在 Java 编程语言中,类的初始化顺序对于理解程序的行为至关重要。特别是当涉及到静态域(静态变量)、非静态域(实例变量)、静态块...

    构造函数借鉴.pdf

    7. 初始化顺序:在创建子类对象时,初始化顺序是:先调用父类的构造函数(如果存在多个构造函数,需通过`super`指定),然后执行子类的构造函数。在实例化过程中,会先打印父类的构造函数输出,再打印子类的构造函数...

    java kok 构造与析构函数

    在Java编程语言中,"构造函数"和"析构函数"是两个关键概念,它们在对象的生命周期管理中起着至关重要的作用。首先,我们来深入理解这两个概念。 构造函数,顾名思义,是在创建类的对象时被调用的特殊方法。它的主要...

    14_构造函数 视频

    3. **构造函数重载**:一个类可以有多个构造函数,只要它们的参数列表不同(参数个数、类型或顺序),这就是构造函数的重载。这样可以根据需要提供多种初始化方式。 4. **构造函数的调用**:当使用`new`关键字创建...

    java中静态代码块与构造方法的执行顺序判断

    在Java编程语言中,了解静态代码块和构造方法的执行顺序是至关重要的,尤其是在处理类的初始化和对象的创建时。下面将详细解释这些概念及其执行逻辑。 首先,静态代码块(也称为静态初始化器)是由`static`关键字...

    dotnet C# 反射扫描程序集所有类型会不会触发类型静态构造函数.rar

    4. **潜在的陷阱**:需要注意的是,静态构造函数的执行顺序可能难以预测,特别是在多线程环境中。如果多个线程同时访问同一类型,可能会导致多个线程尝试执行静态构造函数,这可能会引发错误。因此,设计静态构造...

    简单了解java中静态初始化块的执行顺序

    Java中静态初始化块的执行顺序 Java是一种面向对象的编程语言,静态初始化块是Java中的一个重要概念。静态初始化块是Java类中的一种特殊的初始化块,它用于初始化类的静态变量和静态方法。在Java中,静态初始化块的...

    java代码的初始化顺序demo

    通过观察它们的执行顺序,你将更好地理解Java的初始化流程。 总之,Java代码的初始化顺序是类加载的必然过程,涉及到静态和实例初始化块、构造函数、成员变量初始化以及继承关系的影响。这个demo是学习和理解这些...

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

    “礼让”原则是指在父类和子类的继承关系中,子类的实例化操作时,需要先调用父类的构造函数,然后再调用子类的构造函数。 三、Java 对象初始化顺序的实例分析 以下是一个示例代码,用于演示 Java 对象初始化顺序...

    java函数使用查询包

    14. **异步处理**:Java的并发库提供了诸如`Thread`、`ExecutorService`和`CompletableFuture`等工具,允许在函数中执行异步操作。 `javascript.chm`可能包含JavaScript相关的函数使用信息,虽然这不是Java的一部分...

Global site tag (gtag.js) - Google Analytics