gpt4 book ai didi

java - 在 Java 中,如果我将方法 arg 作为 myMethod(myObjectReference) 或 myMethod(new MyObject) 传递,会有什么区别?

转载 作者:行者123 更新时间:2023-12-01 19:40:42 27 4
gpt4 key购买 nike

假设我的方法需要一个对象作为参数,两者之间会有什么区别吗?应该首选哪一个?

public static void methodOne(){
myMethod(new MyObject());

}

public static void methodOne(){
MyObject objRef = new MyObject();
myMethod(objRef);
}

最佳答案

在第一个示例中,在方法调用后您无法访问 MyObject 的实例,而在示例 2 中,您仍然可以访问它,因为您将该实例分配给了一个变量。

因此,如果您需要/想要重用该实例,请使用示例 2。如果您只需要方法中的实例,则可以使用示例 1(尽管您也可以在方法中实例化它 -> 无参数完全)

第二个示例还为您提供了为对象提供有意义的标识符的机会。有时这对于可读性很有用。

关于第二个示例的另一件事:如果您对传递给方法的实例执行更改,这些更改将在您的 methodOne 中持续存在

关于java - 在 Java 中,如果我将方法 arg 作为 myMethod(myObjectReference) 或 myMethod(new MyObject) 传递,会有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55472637/

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