【问题标题】:Accessing the same variable from multiple classes [duplicate]从多个类访问相同的变量[重复]
【发布时间】:2020-08-29 14:33:54
【问题描述】:

我有一个包含一些变量的类。我们将其命名为“Var”类。在“Var”类中,我有一些变量,如 int width 、int height 等。有些类需要这个变量才能工作,这个变量也在变化。我的问题是,当我在不同的类中创建“Var”类的对象时,每个对象都包含自己的 int 宽度和 int 高度,我不希望这样。那么,如何从多个类中访问“Var”类中的变量?

【问题讨论】:

  • 将它们设为public和static,这样所有类都可以访问它们,并且整个程序只有一个宽度/高度

标签: java class variables


【解决方案1】:

简单的解决方案是在宽度和高度变量上使用 static 修饰符,以仅创建属于该类的变量的单个副本。

另一种方法是创建一个对 Var 的不可变引用并组合 Var 引用的其他类。这也将封装 Var 类的字段。

class Var {

    private final int width;

    private final int height;

    public Var(int width, int height) {
        this.width = width;
        this.height = height;
    }

    public int getWidth() {
        return width;
    }

    public int getHeight() {
        return height;
    }

}

然后你可以有一些依赖于 Var 的类。

public class DependsOnVar {

    private final Var var;

    public DependsOnVar(Var var) {
        this.var = var;
    }

    public void someMethod() {
        int varWidth = var.getWidth();

        int varHeight = var.getHeight();

        // do something
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    相关资源
    最近更新 更多