2017-02-10 53 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创建您的容器。

相关问题