如何从 Java 中的另一个类访问变量

在 Java 编程中,类是一种重要的概念,它允许我们将相关的方法和变量组织在一起。在一个类中,我们可以定义不同的变量,这些变量可以是私有的、公共的或受保护的。有时候,我们需要从一个类访问另一个类中的变量,这就需要使用合适的访问修饰符和方法。

首先,让我们来看一个简单的例子。假设我们有两个类:MainClass 和 ExampleClass。MainClass 是主类,包含 main() 方法,而 ExampleClass 是一个包含变量的类。我们将演示如何从 MainClass 访问 ExampleClass 中的变量。

public class ExampleClass {
    private int privateVariable = 10;
    public int publicVariable = 20;

    private void privateMethod() {
        System.out.println("This is a private method.");
    }

    public void publicMethod() {
        System.out.println("This is a public method.");
    }
}

如上所示,ExampleClass 中有一个私有变量 privateVariable 和一个公共变量 publicVariable。同样,ExampleClass 还有一个私有方法 privateMethod() 和一个公共方法 publicMethod()。

接下来,我们将在 MainClass 中实例化 ExampleClass,并尝试访问其变量。

public class MainClass {
    public static void main(String[] args) {
        ExampleClass example = new ExampleClass();

        int privateVariable = example.privateVariable; // 编译错误,无法访问私有变量
        int publicVariable = example.publicVariable; // 可以访问公共变量

        example.privateMethod(); // 编译错误,无法访问私有方法
        example.publicMethod(); // 可以访问公共方法
    }
}

在上面的例子中,我们尝试从 ExampleClass 中访问其私有变量 privateVariable 和私有方法 privateMethod()。然而,我们会收到编译错误,因为私有成员只能在其所属的类中访问。但是,公共变量 publicVariable 和公共方法 publicMethod() 可以在 MainClass 中被访问。

关于访问变量的注意事项如下:

  • 私有变量和私有方法只能在所属的类中访问。
  • 公共变量和公共方法可以在任何地方访问。
  • 受保护的变量和受保护的方法可以在同一个包内或子类中访问。

除了直接访问变量,我们还可以使用 Getter 和 Setter 方法来获取和设置变量的值。Getter 方法用于获取变量的值,Setter 方法用于设置变量的值。这样做的好处是可以对变量进行更严格的控制和校验。

例如,我们可以给 ExampleClass 添加 Getter 和 Setter 方法来获取和设置 privateVariable。

public class ExampleClass {
    private int privateVariable = 10;

    public int getPrivateVariable() {
        return privateVariable;
    }

    public void setPrivateVariable(int value) {
        if (value > 0) {
            privateVariable = value;
        } else {
            System.out.println("Invalid value.");
        }
    }
}

使用 Getter 和 Setter 方法,我们可以在 MainClass 中访问和设置 privateVariable。

public class MainClass {
    public static void main(String[] args) {
        ExampleClass example = new ExampleClass();

        int privateVariable = example.getPrivateVariable();
        System.out.println("Private variable: " + privateVariable); // 输出:Private variable: 10

        example.setPrivateVariable(20);
        privateVariable = example.getPrivateVariable();
        System.out.println("Updated private variable: " + privateVariable); // 输出:Updated private variable: 20
    }
}

在上述示例中,我们使用 Getter 方法获取了 privateVariable 的值,并使用 Setter 方法将其更新为 20。通过 Getter 和 Setter 方法,我们可以实现对变量的控制和校验,提高代码的可维护性和可扩展性。

总结起来,本文介绍了如何从 Java 中的另一个类访问变量。我们可以使用合适的访问修饰符和方法来访问公共变量和方法,而私有成员只能在其所属的类中访问。另外,我们还可以使用 Getter 和 Setter 方法来获取和设置变量的值,以实现更严格的控制和校验。