gpt4 book ai didi

java - 进一步方法的范围

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:48:13 24 4
gpt4 key购买 nike

在讨论 Java 编程时,我最近学到了更多关于变量作用域和声明的知识,更具体地说,变量应该在尽可能低的作用域中声明。这让我想到了以下示例,我们在其中创建一个新对象并将其发送到另一个函数:

method  {
while(statement) {
Object newObject;
//method code

if(statement) {
newObject = new object();
} else {
newObject = new object();
}
otherMethod(newObject)
}
}

与这个例子相比:

method  {
while(statement) {
Object newObject;
//method code

if(statement) {
Object newObject;
newObject = new object();
otherMethod( newObject );
} else {
Object newObject;
newObject = new object();
otherMethod( newObject );
}
}
}

哪个更正确?

最佳答案

您的第一个示例使用的代码较少,通常是首选。 Java 会阻止您使用可能尚未初始化的变量,因此可读性不会受到太大影响。

要获得更简洁的代码,您应该使用条件运算符:

otherMethod(condition? new ObjectA() : new ObjectB());

关于java - 进一步方法的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18874125/

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