假设我有这样的代码-
public class rectangle {
int length, breadth; // Used some where else for different purpose/calculations
public int area(int length, int breadth)
{
int result = length*breadth;
resetvalues();
return result;
}
public void resetvalues()
{
length = "";
breadth = "";
}
因此,在上面的代码中,由于我从area调用resetvalues方法,所以area方法中定义的长度和宽度变量在resetvalue方法中被引用/更改,而不是在类级别中声明的变量。
如何做到这一点?当从area方法调用resetvalues方法时,我如何使该方法引用该方法中声明的变量?
area()中的变量是局部的或方法范围的。无法从方法外部访问它们。这就是我对可变范围的理解
您可以直接在area方法中重置变量,这不会影响类变量:
public int area(int length, int breadth)
{
int result = length*breadth;
length = 0;
breadth = 0;
return result;
}
以下是一个给出明确描述的参考资料:http://www.java-made-easy.com/variable-scope.html