gpt4 book ai didi

language-agnostic - 何时将方法设为静态?

转载 作者:行者123 更新时间:2023-12-03 06:22:13 25 4
gpt4 key购买 nike

我想知道人们如何决定是否将方法定义为静态。我知道,如果方法不需要访问实例字段,则只能将其定义为静态方法。因此,假设我们有一个不访问实例字段的方法,您是否始终将此类方法定义为静态方法,或者仅在需要静态调用它时(不引用实例)。

也许问同一问题的另一种方式是您使用静态还是非静态作为默认值?

最佳答案

只要有可能,我都会使用静态方法。优点:

  • 当从实例方法内部调用静态方法时,您可以确保对当前对象的状态没有副作用。
  • 在静态方法内部,您可以确保不会意外修改对象实例的任何状态。
  • 您可以从类外部使用静态方法,而无需构造实例。如果可以使该方法成为静态方法,那么它显然不需要实例,因此也不需要实例。
  • 静态方法可能稍微更高效,因为不需要传递“this”指针,也不需要动态调度。

关于language-agnostic - 何时将方法设为静态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2713601/

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