是否可以将实例变量作为参数传递给同一个类中的方法?在同一类中的方法中传递实例变量作为参数?
请参见下面的代码:
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的!)我试图使挂钩列表,其中每个变量是对每个列表中第一个项目的引用。我基本上有10个列表。我还不能提供可靠的代码来展示,因为我还只处于计划阶段。 – jcaoile 2012-02-25 17:53:07
@jcaoile:你真的*需要* 10个单独的列表变量吗?对于一个包含10个列表变量的类来说,它听起来可能不是一个好设计。也许是一个列表的集合?如果不知道具体的细节,很难提供更多建议。 – 2012-02-25 18:23:02
本质上,我有单独的列表根据特定的属性对数据进行排序/分组,这些属性在关联的实体类(构成每个链接列表的“链接”)中定义。你是正确的,因为列表是在一个基本上是集合类的类中定义的。在你的回答和Dave的下面进一步研究之后,我开始认为最直接和最简单的方法是让方法更改每个实例变量,或者在这种情况下,引用每个单独列表的下一个链接。你会同意这是一个明智的做法吗? – jcaoile 2012-02-25 18:37:39