【问题标题】:Run method from different class with variables from current class使用当前类中的变量从不同类运行方法
【发布时间】:2017-06-29 01:00:49
【问题描述】:

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

我的代码示例如下 -

运行方法的类

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

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

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

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

【问题讨论】:

  • 所以创建一个容器类来保存您的数据成员,填充它,然后将该对象传递给您的调用方法。
  • 你需要的不是很清楚。为什么要向方法传递参数?

标签: java class parameter-passing call


【解决方案1】:

正如 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创建你的容器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    相关资源
    最近更新 更多