gpt4 book ai didi

java - 静态与新对象

转载 作者:行者123 更新时间:2023-11-30 04:23:50 25 4
gpt4 key购买 nike

public class A
{
public void doSomething()
{ /*code*/}
}

doSomething 方法绝不引用对象 A 的状态,因此按照该逻辑,它可能是静态

选项 1 和 2 有什么区别:

  1. new A().doSomething()
  2. 假设doSomething是静态的; A.doSomething()

我想说选项 2 更好,因为第一个选项每次使用时都会创建一个新对象。

最佳答案

选项 1 创建 A 的新实例,以调用方法 doSomething() ,根据您的问题,这听起来好像不需要(那里doSomething() 中没有任何内容需要 A 的实例)。选项 2 跳过不需要的实例创建,同时产生相同的效果,因此会更好(假设这是唯一的设计要求)。现在可能还有其他原因不使用静态,例如,如果 A 在接口(interface)中实现,或者如果 doSomething 的性质可能在未来的某个时刻发生变化,其中它可能需要在其外部建立的信息。

关于java - 静态与新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16365591/

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