如果我有类“A”我要声明一个实例,我经常在类“B”中使用,那么我应该在类“B”之外还是在每个方法中声明它的决定因素是什么?我在班级“B”中使用它?
public Class A
{
}
A declareClassA = new A();
public Class B
{
}
或
public Class B
{
public void MethodA()
{
A declareClassA = new A();
...
}
public void MethodB()
{
A declareClassA = new A();
...
}
}
答案 0 :(得分:2)
首先,你不能(AFAIK)在类之外声明一个变量。
对于你的第一个例子,我认为你的意思是:
public Class B
{
A declareClassA = new A();
// methods here..
}
至于你的问题 - 你是否需要在MethodA和MethodB中使用相同的实例?
如果您这样做,请使用上面的代码。如果没有,请在每种方法中使用单独的声明。
答案 1 :(得分:1)
最佳做法是将变量置于最低必要水平。如果需要在方法之间共享变量,那么它的范围应该在那之外。如果方法独立运行并且可以在该级别的范围内生存,那么您应该在那里声明/实例化新变量。
在不降低功能的情况下,始终尽量缩小范围。
答案 2 :(得分:0)
您想为每种方法使用新实例吗?如果是这样,请在方法内声明并实例化。
如果没有,请在课堂内宣布。
public Class B
{
A myA = new A();
}
答案 3 :(得分:0)
在你的第一个方法中,似乎A可以是单例模式或静态类。这实际上取决于A中的数据,是否应该重用它以及应该存在多少个实例。
答案 4 :(得分:0)
这取决于您是否需要持久存储该对象。如果需要引用相同的实例,则将其声明为类级变量,否则在方法中声明它,以便减少方法之间的耦合。
此外,如果这些功能总是使用A类,请考虑它们是否应该属于A类而不是B类