使用当前类中的变量从不同类运行方法

时间:2017-02-10 15:52:00

标签: java class parameter-passing call

我需要从另一个类运行一个方法,但我想从我要调用方法的类中使用该方法的变量。我不想传入参数,因为该方法的变量太多,而且会破坏原始类的代码。

我的代码示例如下 -

运行方法的类
variable1;
variable2;
variable3;
otherClass OC = new OtherClass();
otherClass.method();

和所谓的'otherClass'方法(带有方法的类),例如

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

我想要它做的是使用我调用方法的类中的变量运行方法,即我首先发布的代码的类。有没有办法做到这一点?

1 个答案:

答案 0 :(得分: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创建容器。