gpt4 book ai didi

Java - 在默认构造函数之前执行的方法

转载 作者:IT老高 更新时间:2023-10-28 21:05:53 28 4
gpt4 key购买 nike

我正在学习 java,偶然发现了以下代码,其中在方法之后执行了默认构造函数。

public class ChkCons {    int var = getVal();    ChkCons() {        System.out.println("I'm Default Constructor.");    }    public int getVal() {        System.out.println("I'm in Method.");        return 10;    }    public static void main(String[] args) {        ChkCons c = new ChkCons();    }}

输出:

I'm in Method.I'm Default Constructor.

谁能解释一下为什么会这样?

谢谢。

最佳答案

int var = getVal(); 等实例变量初始化表达式在执行父类(super class)构造函数之后但在执行当前类构造函数的主体之前求值。

因此 getVal()ChkCons 构造函数的主体执行之前被调用。

关于Java - 在默认构造函数之前执行的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32688650/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com