gpt4 book ai didi

java - 这两种在 Java 中初始化字段的方法有什么区别?

转载 作者:行者123 更新时间:2023-12-02 05:53:53 24 4
gpt4 key购买 nike

  1. 在声明字段的同时给字段赋值
  2. 在构造函数中为字段赋值?

最佳答案

What's the difference between those two ways to initialize fields in Java?

不多!主要区别在于,如果您在声明时对其进行赋值,它将应用于所有 构造函数。也就是说,您绝不会忘记将初始化添加到任何 future 的构造函数中。

看看官方Initializing Fields跟踪。

可能值得注意的是,如果您在声明中初始化字段,它发生在构造函数开始执行之前。

根据经验,我通常在声明时初始化“非常简单”的字段(毫无疑问初始值应该是什么)。这“清理”例如

class SomeClass {

List<Integer> currentNumbers = new ArrayList<Integer>();
int counter = 0;

// ...
}

虽然我可能希望在不同的构造函数中有不同的行为,但我将其留给了构造函数。

关于java - 这两种在 Java 中初始化字段的方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5336226/

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