将参数传递给Java中的类

hat*_*enn 2 java class parameter-passing

假设我有一个类,我希望它的一个方法根据参数表现不同.我想做的是这样的事情(我知道这在Java中不起作用):

class myClass(int a) {
    public void myMethod() {
        if (a == 1)
            // do something
        if (a == 2)
            // do something else
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

Gui*_*ume 6

你有两种方法可以做到这一点.

  • 将参数传递给类构造函数,并保留对它的本地引用.然后,您可以在班级的所有方法中使用它.

像这样:

class MyClass {
    private final int a;

    public MyClass(int a) {
        this.a = a;
    }

    public void myMethod() {
        if (a == 1)
            // do something
        if (a == 2)
            // do something else
    }
}
Run Code Online (Sandbox Code Playgroud)
  • 如果您打算仅在该方法中使用该参数,请将该参数传递给该方法.

像那样:

class MyClass {
    public void myMethod(int a) {
        if (a == 1)
            // do something
        if (a == 2)
            // do something else
    }
}  
Run Code Online (Sandbox Code Playgroud)