将构造函数的参数用作全局变量



我有一个传递了参数的构造函数。我会在构造函数类的其他部分中使用此参数。 确实,唯一的方法是传递参数?或者我可以将参数设置为全局变量?

public class MyClass {
    public Myclass (JTable particularTable)
    {
    // does something
    }
    private void useParticularTable ()
    {
    // want to do something with
    // particularTable not passed as parameter
    }
}

就像其他人在他们的评论中指出的那样,您必须保留对传入的原始JTable的引用。

public class MyClass {
    private JTable particularTable;
    public Myclass (JTable particularTable) {
        this.particularTable = particularTable;
    }
    private void useParticularTable() {
        particularTable.doSomething();
    }
}

需要this.particularTable = particularTable;,因为参数和字段的名称相同。如果你只有particularTable = particularTable,你只会将传递的参数重新分配给它自己 - 没有任何效果。这称为阴影。

若要避免此问题,可以将参数命名为其他名称,也可以使用 this. 来引用该字段。

相关内容

  • 没有找到相关文章

最新更新