gpt4 book ai didi

java - Java中的初始化顺序

转载 作者:搜寻专家 更新时间:2023-10-31 08:06:49 26 4
gpt4 key购买 nike

我想问一下为什么java先初始化静态对象再初始化非静态对象?
在此示例中,b3 将在 b4 和 b5 之后初始化:

class Cupboard { 
Bowl b3 = new Bowl(3);
static Bowl b4 = new Bowl(4);
Cupboard() {}
static Bowl b5 = new Bowl(5);
}

最佳答案

因为类的静态成员是在创建类的任何实例之前创建和初始化(在类加载期间)的 - 它们也可以在不创建类实例的情况下访问。非静态成员是为每个实例创建的,因此要等到创建实例才能为该实例初始化。

关于java - Java中的初始化顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2652801/

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