gpt4 book ai didi

java - 声明类对象的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-29 06:45:12 25 4
gpt4 key购买 nike

这只是一个快速问题,用于解决我前段时间偶然发现的争议(抱歉,我没有链接)。

我是这样声明对象的:

class Foo {

private Bar aBar = new Bar();

...

}

现在我发现的争论说这是糟糕的 Java。我不知道他为什么要这么说,但他很坚定。他提出的是,所有的对象都应该在类体中声明,但在构造函数之前不实例化。任何人都可以为我阐明这一点吗?在构造函数中实例化对象确实更好吗?

天天

~艾顿

编辑 1:

我知道我使用了争议这个词,但我不打算对此进行争论。

最佳答案

在大多数情况下,这并不重要。我的经验法则是:

  • 如果您要在所有构造函数中使用相同的表达式来初始化变量,并且它不依赖于任何参数,请在声明时进行。
  • 否则,您几乎不得不在构造函数中执行此操作。

推理:通过在声明点进行初始化,很清楚无论构造函数和参数如何,都将以相同的方式分配值。它还使您的构造函数更简单,并且没有重复。

警告:不要在构造函数中赋值,否则会使之前的清晰度无效:)

我建议您向您的同事(或其他人)询问他声称您当前的代码“糟糕”的具体原因。我敢肯定还有有效的替代观点,但如果他不能提供任何理由,那么就没有理由关注 IMO。

另一个简短的说明——我假设没有一个初始化器需要做任何重要的工作。如果他们这样做,那可能会造成混淆,尤其是在抛出异常的情况下。一般来说,我不喜欢我的构造函数做很多工作。

关于java - 声明类对象的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6074368/

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