是否可以將實例變量作爲參數傳遞給同一個類中的方法?在同一類中的方法中傳遞實例變量作爲參數?
請參見下面的代碼:
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