是否可以将实例变量作为参数传递给同一个类中的方法?
请看下面的代码:
public class Example
{
private int var1; //instance variable to be changed
public Example()
{
var1 = 0;
}
public void changeVar()
{
this.changeVar1(var1); //call method to change from within class
}
private void changeVariable(int variable) //changes passed instance variable
{
variable = 2;
}
}
在本示例中使用,这看起来很愚蠢,因为您可以通过第一个方法调用 changeVar() 轻松更改 var1,但我有一个更复杂的程序,其中有多个实例变量(var1、var2、var3、var4...var10) .我正在尝试编写 changeVariable() 一次并根据需要更改的内容传递每个实例变量,而不是为每个需要更改的实例变量编写单独的方法,即 changeVariable1、changeVariable2...changeVariable10。
最佳答案
这不仅仅是愚蠢的——它行不通。 Java 中的参数总是按值传递。所以你的 changeVariable
方法实际上只是一个无操作...它改变了参数的值,但这与 var1
没有区别。 .
没有更具体的例子,很难知道这是否是一个好主意——我怀疑它不是——但是你尝试它的方式肯定行不通。
关于java - 在同一个类中的方法中将实例变量作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9446396/