2017-02-10 24 views
0

我需要從不同的類運行方法,但是我想從類的方法中使用變量,我將從中調用方法。我不想傳入參數,因爲方法的變量太多,而且它會毀掉原始類的代碼。從不同類中運行方法,使用當前類的變量

的我的代碼的一個例子是如下 -

類從

variable1; 
variable2; 
variable3; 
otherClass OC = new OtherClass(); 
otherClass.method(); 

和所謂的「otherClass」方法(使用方法的類)運行的方法,是例如

variable1; 
variable2; 
variable3; 
public void method() 
{ 
//DOES STUFF WITH variable1 variable2 and variable3 
} 

我想要做的就是用我調用方法的類的變量運行該方法,即我首先發布的代碼的類。有沒有辦法做到這一點?

+0

因此,創建一個容器類來容納您的數據成員,填充它並將該對象傳遞給您的調用方法。你需要的 – OldProgrammer

+0

不是很清楚。爲什麼你想要傳遞參數給你的方法? – davidxxx

回答

3

正如OldProgrammer所說,一個合適的解決方案是使用一個容器來封裝你的方法需要的所有變量。

一個例子:

public class ContainerClassExample { 

    private static class Container { 
     Object variable1, variable2, variable3; 

     public Container(Object variable1, Object variable2, Object variable3) { 
      this.variable1 = variable1; 
      this.variable2 = variable2; 
      this.variable3 = variable3; 
     } 
    } 

    public static void main(String[] argv) { 
     Container aContainer = new Container("a", "b", "c"); 
     methodA(aContainer); 
     System.exit(0); 
    } 

    public static void methodA(Container input) { 
     // Do something with variable1, variable2, and variable3 
    } 
} 

大是輸入參數的數量,更建議你使用builder pattern創建您的容器。

相關問題