什么是声明静态方法变量的好习惯/好地方?

本文关键字:好习惯 好地方 变量 声明 静态方法 什么 | 更新日期: 2023-09-27 18:06:44

当我有静态方法时,声明作用域变量的好地方是什么?内法体还是外法体?

public static void myMethod()
{
int myVariables;
//body
}
private static int myVariables;
public static void myMethod()
{
//body
}

什么是声明静态方法变量的好习惯/好地方?

应该在尽可能小的范围内声明变量。因此,如果一个局部变量工作,坚持使用局部变量(选项1)。

只有当你不能用局部变量做你想做的事情时,才考虑使用字段或属性。

如果您只在方法作用域中使用变量,请在方法内部声明它们,因为它分配的内存可以在方法返回后释放。

如果您需要在多个方法调用中存储一些变量,请在函数体之外定义它们,这样它们就不会在方法调用后被释放。

这取决于你的任务。你应该在尽可能小的范围内声明变量。

如果你想全局访问,你应该定义如下

private static int myVariables;
public static void myMethod()
{
//body
}

,你只希望在方法内部访问,你应该定义为

public static void myMethod()
{
int myVariables;
//body
}

我想说:

1。作为静态方法的参数

//这是最好的,因为您可以很容易地通过传递模拟值来测试您的方法,并且一旦方法结束,它将被GC删除

2。局部变量

//这是一种'ok',但问题是,当你试图单元测试你的方法。检查你的局部方法变量的赋值是非常困难的(它是否有正确的值)。一旦方法结束,它将被GC删除。

3。类

中的静态字段

//虽然这通常应该避免,但在您打算在类的不同方法中甚至在类之外重用它的情况下,这是一个好主意。当对类的引用丢失时,它将被GC删除。